面向对象——继承
- 继承的本质是对某一批的抽象,从而实现对现实世界更好的建模。
- extends的意思是“扩展”。子类是父类的扩展。
- JAVA中类只有单继承,没有多继承。
- 继承是类和类之间的一种关系。除此之外,类和类的关系还有依赖、组合、聚合等。
- 继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字extends来表示。
- 子类和父类之间,从意义上将应该具有“is a”的关系。
package(包)com.du.OOP.demo02:类Application(mian()方法)
package com.du.OOP.demo02;
import com.du.OOP.demo03.Pet;
import com.du.OOP.demo05.Student;
//一个项目应该只存在一个main方法
public class Application {
public static void main(String[] args) {
Student student = new Student();
student.say();
System.out.println(student.money);
// student.sleep();//报错
// System.out.println(student.money1);//报错
}
}
package(包)com.du.OOP.demo05:类Person(继承)
package com.du.OOP.demo05;
//在java中所有的类都默认直接或间接继承Object类
//Person 人:基类(父类)
public class Person {
//共有的子类可以继承
public int money = 1000000;
public void say(){
System.out.println("说话!");
}
//私有的子类无法继承,但是可以使用getter和setter操作私有属性
private int money1 = 1000000;
private void sleep(){
System.out.println("睡觉!");
}
//快捷键ctrl+H打开继承树
}
package(包)com.du.OOP.demo05:类Student(继承)
package com.du.OOP.demo05;
//学生 is 人:派生类(子类)
//子类继承父类就会拥有父类全部的方法
public class Student extends Person {
}
package(包)com.du.OOP.demo05:类Teacher(继承)
package com.du.OOP.demo05;
//老师 is 人:派生类(子类)
public class Teacher extends Person{
}