面向对象三大特征之继承
继承extends:子类继承父类中所有的非私有属性和方法
构造函数不会被继承
子类可以有自己的方法
重写(覆盖):
继承关系下,子类中的方法与父类中继承的方法名相同
参数列表相同,返回值类型相同
this:当前对象
this.属性;当前对象的属性
this([参数]);
super:父类对象
super.属性
super([参数]);
代码案例:
//创建一个父类
public class Animal {
int id;
String name="动物";
int age;
public void eat() {
System.out.println("吃");
}
public void sleep() {
System.out.println("睡觉");
}
public void run() {
System.out.println("跑得快真好");
}
}
//子类
public class Cat extends Animal {
String name="猫";
public void eat() {
System.out.println("猫薄荷");
}
public void showinfo() {
//本类的属性
System.out.println("猫类:"+name);
//调用父类的属性
System.out.println("动物类:"+super.name);
}
public class Dog extends Animal {
public void eat() {
System.out.println("蘸着吃");
}
public void km() {
System.out.println("看门方法");
}
}
public class Tiger extends Animal {
public void eat() {
System.out.println("吃中线");
}
}
//测试
public class TestAnimal {
public static void main(String[] args) {
//创建一个老虎对象
Tiger t = new Tiger();
t.name = "赔钱虎";
t.age = 3;
t.id = 2;
t.eat();
//创建一个猫对象
Cat c = new Cat();
// c.name = "汤姆";
c.id = 1;
c.age = 18;
c.eat();
c.showinfo();
//创建一个狗的对象
Dog dog =new Dog();
dog.eat();
}
}