动手动脑9.30
1.
该代码在Foo obj1= new Foo() ;的地方出错了,出错原因是main方法在引用变量时Foo()没有被定义,Foo类中只有一个有参构造,没有无参构造.
结论: 如果类提供了一个自定义的构造方法,将导致系统不再提供默认构造方法。
2.
实例代码块,每次构建对象都会执行,并且,实例代码块的执行优先于构造器
多个静态成员,会按照编写的顺序执行,谁靠前先执行谁
多个静态成员执行优先于main方法
3.静态方法中只允许访问静态数据,那么,如何在静态方法中访问类的实例成员(即没有附加static关键字的字段或方法)?
1 package classTest4; 2 3 public class Me 4 { 5 int x=1; 6 static int y=2; 7 public static void method()//静态方法 8 { 9 System.out.println("实例变量x = " + new Test().x);//在静态方法中访问类的实例变量需首先进行类的实例化 10 System.out.println("静态变量y = " + y);//在静态方法中可直接访问类的静态变量 11 } 12 public static void main(String[] args) 13 { 14 Test.method(); 15 Test t = new Test(); 16 System.out.println("x = " + t.x); 17 } 18 }
标签:9.30,静态方法,变量,动脑,动手,实例,static,Test,Foo From: https://www.cnblogs.com/psh888/p/16758320.html