继承概念
- 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。
- 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
类的继承格式
class 父类 {
}
lass 子类 extends 父类 {
}
为什么继承(复用代码)
- 企鹅:属性(姓名,id),方法(吃,睡,自我介绍)
- 企鹅:属性(姓名,id),方法(吃,睡,自我介绍)
//企鹅类
public class Penguin{
private string name;
private int id;
public Penguin(String name,int id){
this.name=name;
this.id=id;
}
public void eat(){
System.println(name+”正在吃”);
}
public void sleep(){
System.println(name+”吃”);
}
}
//熊猫类
public class Mouse{
private string name;
private int id;
public Mouse(String name,int id){
this.name=name;
this.id=id;
}
public void eat(){
System.println(name+”正在吃”);
}
public void sleep(){
System.println(name+”吃”);
}
}
这两段代码存在重复了,维护性不高
- 创建公共父类
//公共类
public class Animal {
private String name;
private int id;
public Animal(String myName, int myid) {
name = myName;
id = myid;
}
public void eat(){
System.out.println(name+"正在吃");
}
public void sleep(){
System.out.println(name+"正在睡");
}
}
- 继承公共类的企鹅类
//继承公共类的企鹅类
public class Penguin extends Animal {
public Penguin(String myName, int myid) {
super(myName, myid); //调用父类的无参构造方法
}
}
- 继承公共类的老鼠类
//继承公共类的老鼠类
public class Mouse extends Animal {
public Mouse(String myName, int myid) {
super(myName, myid); //调用父类的无参构造方法
}
}