-
子类拥有父类非 private 的属性、方法。
-
子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。
-
子类可以用自己的方式实现父类的方法。
-
Java 的继承是单继承,但是可以多重继承(多重继承就是A继承B,B继承C)
-
提高了类之间的耦合性(继承的缺点,耦合度高就会造成代码之间的联系越紧密,代码独立性越差)。
一、定义父类
public class Animal {
private String name;
private int id;
//父类方法
public void eat(){
System.out.println(name+"正在吃");
}
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public int getId() { return id; }
public void setId(int id) { this.id = id; }
}
二、子类使用
public class Dog extends Animal{
public static void main(String[] args) {
Animal dog = new Dog();
dog.setName("修狗");
dog.eat();//父类方法
}
}
修狗正在吃
注意:
(1)成员变量:当子类和父类有重名的成员变量时,会发生就近原则,优先使用子类的成员变量,不过可以通过this和super来区分使用。
(2)成员方法:子类和父类出现同名的成员方法,先在子类中找,找不到在去父类中找。
(3)子类中成员方法调用注意,同名的情况下会用this调用子类的方法。
定义父类:
public class Person {
public void show(){
System.out.println("父类启动");
}
}
定义子类:
public class Sun extends Person {
public void show(){
System.out.println("子类启动");
}
public void method(){
show();//默认是this调用
}
}
定义入口:
public class Main {
public static void main(String[] args) {
Sun sunSun = new Sun();
sunSun.method();
}
}
结果:
子类启动