18.1.16
Float
定义整数时,后面不跟f或F是不会报错的。
例:float f = 1;//编译是不会报错
定义小数时,后面不跟f或F是会报错的。
例:float f = 1.0;//编译会报错
Static 关键字
遇到的一些题:
public class Test extends Base { static { System.out.println("test static"); } public Test() { System.out.println("test constructor"); } public static void main(String[] args) { new Test(); } } class Base { static { System.out.println("base static"); } public Base() { System.out.println("base constructor"); } }
执行结果:
base static
test static
base constructor
test constructor
解释:
加载Test类时,发现test 是继承Base的,所以先加载Base类,此时运行Base 类的static 代码块,然后加载Test 类,运行它的static 代码块。
new Test() 时,先运行的是父类的 构造器,再运行自己的构造器。
延伸:
如果类中有成员变量,成员变量的初始化会先于构造函数。