目录
1.概念
继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为对象编程技术的一块基石,因为它允许创建分等级层次的类。
生活中的继承:
上图中,teacher和student都是继承people这个父类,成为子类或者派生类,继承之后,子类可以复用父类的属性和方法,在实现子类时,只需要关心自己的新增属性和方法即可。
2.语法
Java中实现继承需要用到关键字extends,
修饰符 class 子类 extends 父类{/*......*/}
代码实现如图:
class People4{
public String name;
public int age;
public String sex;
public People4(String name, int age, String sex) {
this.name = name;
this.age = age;
this.sex = sex;
}
public void eat(){
System.out.println(name+"在吃饭");
}
}
class Teacher4 extends People4{
public int teach_year;
Teacher4(){
super("ss",18,"男");
this.teach_year = 26;
}
public void teach(){
System.out.println(name+"在教书");
}
}
public class boke4 {
public static void main(String[] args) {
Teacher4 teacher4 = new Teacher4();
teacher4.teach();
}
}
注意:
· 子类将继承父类的成员变量和成员方法
· 子类继承父类之后,需要添加自己特有的成员,才能体现出与基类的不同,否则继承将会显得毫无意义。
3.父类访问成员
3.1子类访问父类的成员变量
3.1.1子类和父类中不存在同名的成员变量
class Base{
public int a;
public int b;
}
class Dervied extends Base{
public int c;
public void method(){
a = 10;//从父类继承
b = 20;//从父类继承
c = 30;//访问自己
}
}
3.1.2子类和父类存在相同的成员变量
class Base {
int a;
int b;
int c;
}
class Derived extends Base {
char b; //与父类同名,不同类型
int c; //与父类同名,相同类型
public void method(){
a = 10;