【Java基础】面向对象的特征:继承性
1.什么是继承
继承表示两个类之间的一种关系。
子类继承父类,则子类具有父类的属性和方法,同时可以扩展自己属性或功能。
子类更具体,父类更抽象。
2.为什么要有继承
定义两个类:Person和Student类
Person类
public class Person1 {
public String name;
public int age;
public Date birthDate;
public String getInfo(){
String info = "姓名:"+name+"\n年龄:"+age+"\n生日:"+birthDate;
return info;
}
}
Student类
public class Student1 {
public String name;
public int age;
public Date birthDate;
public String school;
public String getInfo(){
String info = "姓名:"+name+"\n年龄:"+age+"\n生日:"+birthDate+"\n学校:"+school;
return info;
}
}
发现有很多代码都重复了
那么我们可以将Student类写为,Student类继承了父类Person所有属性和方法,并增加了一个属性school。
public class Student extends Person{
public String school;
public String getInfo(){
String info = super.getInfo()+"\n学校:"+school;
return info;
}
}
多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,其他类只需继承这个类即可,并可以扩展自己的属性。
3.继承说明
- 子类:派生类SubClass
- 父类:基类或超类SuperClass
子类继承父类,子类就具有了父类中的所有方法和属性,包括私有的(private),但子类不能直接访问父类中私有的属性和方法,可以通过get/set操作访问父类私有结构。
4.继承的类型
一个类只能有一个父类。
如果没有显式声明一个类的父类,则此类继承于java.lang.Object类。
所有的类除了Object类之外都直接或间接继承于Object类。
因此所有的java类都具有java.lang.Object类声明的功能。