//父类
public class Animal {
public String name;
public int age;
public void chi(){
System.out.println(this.name+"吃好吃的");
}
public void zou(){
System.out.println(this.name+"走别人的路,让自己憋屈");
}
}
//子类1
public class Person extends Animal{
public void shuo(){
System.out.println(this.name+"哇啦哇啦的说");
}
}
//子类2
public class Pig extends Animal{
public void hengHeng(){
System.out.println(this.name+"哼哼的叫");
}
}
//调用
public class Test {
public static void main(String[] args) {
Person p = new Person();
p.name = "花花";
p.chi();
p.shuo();
p.zou();
Pig px = new Pig();
px.name = "张博";
px.chi();
px.hengHeng();
px.zou();
}
}
//注意:继承并不是为了解决某个问题,而是为了优化程序代码结构而出现的
//java面向对象三大基本特性:继承 封装 多态
//父类
public class Animal {
public String name;
public int age;
public void chi(){//父类的等待被重写的方法
System.out.println(this.name+"吃好吃的");
}
public void zou(){
System.out.println(this.name+"走别人的路,让自己憋屈");
}
}
//会产生重写的子类
public class Person extends Animal{
public void shuo(){
System.out.println(this.name+"哇啦哇啦的说");
}
public void chi(){//子类重写以后的方法
System.out.println("我想吃海鲜,我想吃烧烤,我想吃各种好吃的!!!!");
}
}
//没有产生重写的子类
public class Pig extends Animal{
public void hengHeng(){
System.out.println(this.name+"哼哼的叫");
}
}
//注意:重写仅仅影响重写所发生的子类,对于其父类和其他未重写的子类不会产生影响