什么是java构造器?为什么使用构造器?
答:java中构造器采用与类名相同(完全相同,大小写都一样)的名称,java中使用构造器用来确保初始化。
java的构造器是用来创建对象的嘛?
从概念上,初始化和创建时相互独立的,而在java中初始化和创建捆绑在一起。所以可以说构造器的主要目的是为了确保初始化,但在java中创建动作是不可见的,所以默认构造器是来创建对象的。
什么是方法的重载?
两个方法方法名相同、参数不同,就说方法是另一个方法的重载,重载是根据参数不同来区分的,不是返回值。
为什么要有默认构造器?
默认构造器又叫无参构造器,她的作用是创建一个默认对象,如果没有它(并且你自己也没有创建构造器)那么它就无法创建对象,如果你已经创建一个构造器,编译器就不会自动帮你创建默认构造器。
this关键字
this关键字只能在方法内部使用,表示对“调用方法的那个对象”的引用。
例子如下:
在构造器中调用构造器,目的是避免重复代码。
构造器初始化的顺序,从早到迟顺序依次如下:
第一级:静态变量、静态方法块(初始化顺序只与代码中出现顺序有关)
第二级:非静态变量、非静态方法块(初始化顺序只与代码中出现顺序有关)
第三级:构造器(你调用的那个构造器)
如果是继承关系呢?父类和子类的初始化顺序又是如何?
第一级:父类静态变量、父类静态方法块(初始化顺序只与代码中出现顺序有关)
第二级:子类静态变量、子类静态方法块(初始化顺序只与代码中出现顺序有关)
第三级:父类非静态变量、父类非静态方法块(初始化顺序只与代码中出现顺序有关)
第四级:父类构造器
第五级:子类非静态变量、子类非静态方法块(初始化顺序只与代码中出现顺序有关)
第六级:子类构造器
其他静态方法、非静态方法都是等到调用时才执行。