继承笔记

来源:互联网 发布:type3浮雕雕刻软件 编辑:程序博客网 时间:2024/05/29 07:49


继承的关键词extends;


public A extends B{


}


Java只支持单继承,每个类只能有一个直接父类。
子类和父类是is-a的关系,即只能有一个父类,可以有多个子类。




子类访问父类的成员(使用super):*1)访问父类构造方法(在子类构造方法调用且必须是第一条语句):①super();//访问无参构造方法②super(参数1);//访问有参构造方法
*2)访问父类属性:super.属性;
*3)访问父类方法:super.方法();
super代表当前对象的直接父类对象的默认引用。使用super关键字时,super代表父类对象。


实例化子类,默认先执行父类的无参构造方法,再执行子类的构造方法。
实例化子类的有参构造时,使用super(参数)重复调用父类中的有参构造,默认直接调用父类的有参构造,而不会调用父类的无参构造。




1、不能继承父类中的私有成员,
2、继承默认(friendly)权限修饰的属性和方法,但子类和父类必须在同一个包里。
3、继承public和protected修饰的属性和方法。
4、无法继承父类的构造方法,因此也不能被重写。


重写:
子类和父类之间方法名相同,参数列表相同,返回类型相同,访问修饰符不能言语父类(public>protected>friendly>private)。


重载:方法名相同,参数列表不同,与返回值类型,访问修饰符无关。


object类是所有类的父类,所有Java类直接或间接继承。


1、在构造方法中如果有this语句或super语句出现,则只能是第一条语句。
2、在一个构造方法中不允许同时出现使用this和super语句调用构造方法(否则就有两条第一语句)。
3、在类方法中不允许出现this或super关键字。
4、在实例方法中,this和super不要求是第一条语句,可以共存。


用abstract修饰的抽象类不能被实例化,抽象方法没有方法体,抽象方法必须在抽象类中,抽象类中不一定都是抽象方法。抽象类中的抽象方法必须被子类重写。
使用final修饰的类不能被继承,使用final修饰的变量为常量,必须初始化。使用final修饰的方法不能被重写。
不能使用abstract和final并列修饰同一个类。abstract不能喝private,final,static并列修饰同一个方法
原创粉丝点击