继承:
(1)继承是面向对象的三大特征之一,继承可以解决编程中代码冗余的问题,是实现代码重用的重要手段之一。
(2)继承是软件可重用的一种表现,新类可以在不增加自身代码的情况下,通过从现有的类中继承其属性和方法,来充实自身内容,这种现象或行为就称为继承。此时,新类称为子类,现有的类称为父类。
(3)继承最基本的作用就是使得代码可重用,增加软件的可扩充性。
(4)Java中只支持单根继承,即每个类只能有一个直接父类。
(5)继承表达的是“XX is a XX”的关系,或者说是一种特殊和一般的关系。如Dog is a Pet.
继承的语法:
[访问修饰符] class <SubClass> extends <SuperClass>{
//代码
}
1)在Java中,继承通过extends关键字实现,其中SubClass称为子类,SuperClass称为父类或基类。
2)在Java中,子类可以从父类中继承的内容
对继承的理解:
访问父类构造方法、访问父类属性、访问父类方法
super关键字来访问父类的成员
super只能出现在子类的方法和构造方法中
super调用构造方法时,只能是第一句
super不能访问父类的private成员
//这是一个animal父类
public class Animal {
private String name;
private int health;
private int love;
public Animal() {
super();//调用父类Object类里的无参构造方法
}
public Animal(String name, int health, int love) {
super();//调用父类Object类里的有参构造方法
this.name = name;
this.health = health;
this.love = love;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getHealth() {
return health;
}
public void setHealth(int health) {
this.health = health;
}
public int getLove() {
return love;
}
public void setLove(int love) {
this.love = love;
}
// 定义一个输出动物信息的方法
public void print() {
System.out.println("动物昵称:" + this.name + ",健康值:" + this.health
+ ",亲密度:" + this.love);
}
}
//一个animal类的子类Cat
public class Cat extends Animal {
private String color;
public Cat() {
super();
}
public Cat(String name, int health, int love, String color) {
super(name, health, love);
this.color = color;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
}
public class Test {
public static void main(String[] args) {
//创建一个Cat类对象
Cat cat1 = new Cat("滑溜", 70, 50, "灰色");
//调用父类animal中的print()方法
cat1.print();
}
}