继承
【1】继承的目的和实现
代码复用
子类extends父类
【2】super关键字的作用 类比this
super:表示父类对象
suiper.属性名 访问父类属性
super() super(参数列表) 调用父类构造方法
super.方法名() 调用父类方法
【3】继承时构造方法的调用
子类构造方法中,会默认调用父类无参构造方法
【4】Java中继承的特点或者注意事项
单继承 一个类只允许继承一个类
传递性 Class A extends B{}
Class B extends C{}
【5】final关键字的作用 【面试题】
final:最终的,不可变的
final修饰类:此类无子类
final修饰方法:方法不能被子类重写
final修饰变量:变量的值不可以被改变
final修饰形式参数:
形式参数是基本数据类型,值不允许更改
如果是对象数据类型,绑定的对象不可以改变。
public void fun(final String s){
s = new String("abc"); //不可以
s = "abc"; //不可以(String源码中有个属性 private final char value[];
字符串类是由char字符组成的,构造了一个字符串对象,把abc存在了char数组里面,char会创建一个新的数组来保存
即使之前是String s = “abc”;随后s = "abc" 表面上看是一样的可以行得通,但是内存中还是会创建一个新的对象,所以有final关键字修饰后,这样是 行不通的)
}
public void fun(final StringBuffer s){
s.apend("abc"); //这样是可以的
}
【6】访问修饰符(权限控制) 【面试题】
public 公共的,所有地方都可以访问
private 私有的,隐私,类的内部可以访问
protected 保护的 同一个包中、不同包中的子类也可以访问
default 默认的,没有写修饰符