目录
- 继承
- 继承的好处
- 继承具有传递性
- 实例
- 创建Person类
- Student继承Person类
- 测试
继承
-
Java中的继承是面向对象编程的一个核心特性,它允许一个类(子类或派生类)继承另一个类(父类或基类)的属性和方法。通过继承,子类可以复用父类的代码,减少重复的代码量,并扩展父类的功能。
-
在Java中,继承使用extends关键字表示。子类可以继承父类的所有非私有成员变量和成员方法,并可以添加自己的新方法和属性。子类还可以通过重写父类的方法来改变父类方法的实现。
-
继承是Java面向对象三大特性之一,其他两个特性是封装和多态。通过继承,可以实现代码重用和建立类之间的层次结构,使代码更加清晰、易于维护和扩展。
-
值得注意的是,Java只支持单继承,即一个子类只能继承一个父类。但一个类可以间接继承其他类,例如:C类继承B类,B类继承A类,则C类间接继承A类。另外,如果一个类没有显式地继承任何类,则默认继承Java SE库中的
java.lang.Object
类
继承的好处
- 提高代码的复用性
- 便于代码的扩展
- 为了以后多态的使用。是多态的前提
-
父类定义的内容,子类可以直接拿过来用就可以了,不用代码上反复重复定义了
-
需要注意的点:
- 父类private修饰的内容,子类实际上也继承,只是因为封装的特性阻碍了直接调用,但是提供了间接调用的方式,可以间接调用。
继承具有传递性
继承具有传递性:
Student -->继承自 Person -->继承自Object
Object类是所有类的根基父类。
所有的类都直接或者间接的继承自Object
实例
创建Person类
public class Person {//属性:private int age;private String name;private double height;//提供setter getter方法:public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public double getHeight() {return height;}public void setHeight(double height) {this.height = height;}//方法:public void eat(){System.out.println("可以吃饭");}public void sleep(){System.out.println("可以睡觉");}
}
Student继承Person类
public class Student extends Person {//子类Student 继承 父类Person//属性:private int sno;//学号public int getSno() {return sno;}public void setSno(int sno) {this.sno = sno;}//方法:public void study(){System.out.println("学生可以学习");}
}
测试
public class Student extends Person {//子类Student 继承 父类Person//属性:private int sno;//学号public int getSno() {return sno;}public void setSno(int sno) {this.sno = sno;}//方法:public void study(){System.out.println("学生可以学习");}
}