package static类型.执行顺序; public class Test { Person person = new Person("Test"); static{ System.out.println("test static"); } public Test() { System.out.println("test constructor"); } public static void main(String[] args) { ne…
先加载类,然后再实例化类. 继承与static 面试题目如下:请写出程序执行完成之后的结果. package extend; public class X { Y y=new Y(); static{ System.out.println("tttt"); } X(){ System.out.println("X"); } public static void main(String[] args) { new Z(); }} class Y{ Y(){…
Java中main方法,静态,非静态的执行顺序详解 Java程序运行时,第一件事情就是试图访问main方法,因为main相等于程序的入口,如果没有main方法,程序将无法启动,main方法更是占一个独立的线程,找到main方法后,是不是就会执行mian方法块里的第一句话呢?答案是不一定 看看下面两种最常见的情况: 第一种情况: main方法在一个具有其他方法或属性的类中: public class Test1 { public static String name; public Test1(…
当我们new一个GirlFriend时,我们都做了什么? 一个例子搞懂Java程序运行顺序 public class Girl { Person person = new Person("Girl"); /*构造代码块忘记加了,不过构造代码块和成员变量一样,每次构造方法时都会执行一次 { System.out.println("构造代码块"); } */ static{ System.out.println("Girl static"); } s…
//据说这是一道阿里巴巴面试题,先以这道题为例分析下 public class Text { public static int k = 0; public static Text t1 = new Text("t1"); public static Text t2 = new Text("t2"); public static int i = print("i"); public static int n = 99; public int j…
一 Animal为父类,构造器中调用public(default.protected) say方法,Dog继承了Animal,并重载了say方法.新建Dog对象,查看运行结果,若将Animal中say方法改为private,再次运行程序查看结果: public class Dog extends Animal { private String name; public Dog() { System.out.println("dog init"); name = "jack&q…