一、类
1、在java中,类文件以 .java为后缀,每个类文件最多只能有一个public类,类的名称必须与类文件的名称相同。
2、如果没有显性地定义构造器,编译器会自动创建一个无参的构造器,如果显性地定义了构造器,就不会自动添加构造器(即使定义的构造器是有参数的,都不会自动添加构造器),构造器默认都是static的。
3、初始化: 当我们需要生成某个类的对象时,java会先检查是否加载了这个类,如果没有加载,那么会先加载类,再生成对象,如果已经加载,则直接生成对象。
在类的加载过程中,类的static成员变量会先初始化,如果类中有static语句块,会执行static语句块,具体哪个先执行,依照代码的顺序,当然了,这些只会加载一次。
4、在生成对象的过程中,会先初始化对象的成员变量,然后再执行构造器,也就是说类中的任何变量会在任何方法(包括构造器)调用之前得到初始化。
二、继承
1、在子类继承父类的成员变量时,不继承父类private的变量,当子类使用了与父类成员变量名相同的成员变量,会覆盖掉,当调用时,使用的是子类的变量,要使用父类的变量,可以使用super关键字。
2、同样,子类不能继承父类private的方法,使用super关键字调用父类同名方法
3、子类不能继承父类的构造器,使用super调用父类的构造器。
4、子类要覆盖父类方法,必须遵循两小两同一大的原则(形参、方法名相同,返回值、抛出异常小于父类,子类方法的访问权限大于或相等于父类方法)