1、方法的继承
a、在同一个.java文件中,只允许1个public类,且该public类与文件名同名。
b、如果该.java文件中不存在public类,则可以为任意合法名称
c、在成员变量中,数值型基本数据类型的初始默认值为:0。boolean型的默认值为false
d、引用数据类型的默认初始值为null。
e、如果没有显示的创建该类的构造方法,则构造器会生成一个默认的无参的构造方法,
如果显示的定义了构造方法,则构造器不在创建无参的默认构造方法。
2、继承中的构造方法
a、子类的构造过程中必须调用其基类的构造方法。
b、子类可以在自己的构造方法中使用super(arguments...)调用基类的构造方法。
b.1、使用this(arguments..)调用本类的另外构造方法。
b.2、如果调用super,必须写在子类构造方法的第一行。
c、如果子类的构造方法中没有显示的调用基类的构造方法,则系统默认调用基类的无参数构造方法。
d、如果子类构造方法中既没有显示调用基类构造方法,而基类又没有无参数的构造方法,则编译出错。
3、方法的覆写
a、 在子类中可以根据需要对从基类中继承来的方法进行重写。
b、 重写方法必须和被重写方法具有相同方法名称、参数列表和返回类型。
c、 重写方法不能使用比被重写方法更严格的访问权限。
4、访问权限修饰符
a、私有权限(private)
private可以修饰数据成员,构造方法,方法成员,不能修饰类(此处指外部类,不考虑内部类)。
被private修饰的成员,只能在定义它们的类中使用,在其他类中不能调用。
b、默认权限(default)
类,数据成员,构造方法,方法成员,都能够使用默认权限,即不写任何关键字。
默认权限即同包权限,同包权限的元素只能在定义它们的类中,以及同包的类中被调用。
c、受保护权限(protected)
protected可以修饰数据成员,构造方法,方法成员,不能修饰类(此处指外部类,不考虑内部类)。
被protected修饰的成员,能在定义它们的类中,同包的类中被调用。
如果有不同包的类想调用它们,那么这个类必须是定义它们的类的子类。
d、公共权限(public)
public可以修饰类,数据成员,构造方法,方法成员。被public修饰的成员,
可以在任何一个类中被调用,不管同包或不同包,是权限最大的一个修饰符。
可以在任何一个类中被调用,不管同包或不同包,是权限最大的一个修饰符。
PS:
e、并不是每个修饰符都可以修饰类(指外部类),只有public和default可以。
f、所有修饰符都可以修饰数据成员,方法成员,构造方法。
g、为了代码安全起见,修饰符不要尽量使用权限大的,而是适用即可。比如,数据成员,
如果没有特殊需要,尽可能用private.
h、修饰符修饰的是“被访问”的权限。
5、覆写与重载的区别
a、重载(Overloading)
Java中方法的重载,指的是在类中可以创建多个方法,它们具有相同的名字,
但具有不同的引数列(参数类型和个数)和不同的定义。
而返回值的类型可以相同也不以不同,但是不能仅仅通过不同的返回值来区分重载函数。
调用方法的时候根据参数列表来判断调用哪个方法。重载是一个类中的多态性表现。
b、覆写(Overriding)
Java中,子类默认可以继承父类中的方法,而不需要重新编写相同的方法,但是有时候,
子类并不想原封不动的继承父类中的方法,而是做出一定的修改,这就是采用方法的覆写(也成为覆盖)来实现的。
Java中覆写指的是,在子类中对父类中同一重名函数实现部分加以改变,
但与父类的该方法的方法名、返回类型和参数
列表都保持一致。即子类对父类中的函数进行重新定义,子类中的新方法将覆盖父类原有的方法。
覆写是父类与子类之间的一种多态表现。