首先要进行了解什么是继承。类的继承是指一个现有类的基础上去构建一个新的类,构建出来的新类被称作子类,现有类被称作父类或基类,子类会自动拥有父类所有科继承的属性和方法。
子类在继承父类的时候,会自动拥有父类所有公共的成员。
继承的好处:共性抽取(多个类中相同的代码),提高了代码的复用性。
实现继承:
public class Zi extends Fu{
//子类继承了父类,则可以使用父类中的非private修饰的成员信息等
}
可以使用的权限修饰符:public protected 默认
继承关系下构造方法的访问特点:
1.在子类的构造方法中,如果没有写super(参数),则默认赠送一个super();//super调用父类的无参数的构造方法。
2.如果写了一个super(参数),则不再赠送。
3.super(参数),必须是第一个语句
(只能写在子类的构造方法中,super()只能写一个)
在创建子类对象的时候,一定会调用父类的某个构造方法。
输出的结果为:
Fu.Fu()//在子类中没有覆盖重写的无参的构造方法,所有调用的是父类的无参构造方法
20//输出的是子类的成员变量a
Zi.method()//输出子类的methed()方法
Fu.Fu()//和第一个输出一样
Fu.Fu(int a)//在子类中没有覆盖重写的无参的构造方法,所有调用的是父类的有参构造方法
在代码的实现过程中super关键字比较重要
super关键字的三种用法
super.父类的成员变量
super.父类的成员方法
super(参数)//调用父类的构造方法,只能在子类的构造方法。参数可是有参,可是无参。
想要使用子类子类自己的构造方法就的进行覆盖重新其中的的方法名相同,参数项相同,修饰符可以相同也可以不相同,返回值可以相同也可以不相同。
this关键字的三种用法
this.本类成员变量
this.本类成员方法
this(参数)//调用本类中的其他构造方法
注意事项:
必须写在构造方法中
必须是第一句,this(参数)和super(参数)不能同时存在
写了this(参数),之后不赠送super()
构造方法不能递归(普通的方法也可以用this递归)
继承的特点:
a.一个子类只能有一个直接父类。Java是单继承。
b.Java是多级继承。
c.一个父类可以有多个子类。