Java的继承,抽象,多态,接口的简单应用.
我们利用,猫和狗都是动物类,然后猫会抓鱼,狗会看门的这些方法来简单应用一下继承,抽象,多态,接口。
简单思路就是
1.定义动物类 2.定义猫,狗类,让他们成为动物的子类 3.编写测试类。
继承:使子类具有父类(基类,超类)的属性和方法
//animal.classpackage Stu;public class animal {public String name;public int age;public animal() {}public animal(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}
//cat.classpackage Stu;public class cat extends animal {public cat() {}public cat(String name, int age) {super(name, age);}public void catchfish(){System.out.println("猫抓老鼠");}}
//dog.classpackage Stu;public class dog extends animal {public dog() {}public dog(String name, int age) {super(name, age);}public void watch(){System.out.println("狗看大门");}}
//anidemopackage Stu;//测试类public class anidemo {public static void main(String[] args) {cat c1=new cat();//创建猫类对象测试c1.setName("曼基康");//无参的测试c1.setAge(2);System.out.println(c1.getName()+","+c1.getAge());c1.catchfish();//调用方法dog d1=new dog();//创建狗类对象测试d1.setName("阿拉斯加");//无参的测试d1.setAge(3);System.out.println(d1.getName()+","+d1.getAge());d1.watch();//调用方法}}
结果演示
多态:同一对象在不同时刻的不同形态
//animal.class 前面和继承的一样,多加了一个eat方法public void eat(){System.out.println("动物吃东西");}
//cat.class 前面和继承的一样,多加了一个eat方法,重写的@Overridepublic void eat() {System.out.println("猫吃鱼");}
//dog.class 前面和继承的一样,多加了一个eat方法,重写的@Overridepublic void eat() {System.out.println("狗吃肉");}
//anidemopackage Stu;//测试类public class anidemo {public static void main(String[] args) {animal c1=new cat();//创建猫对象,注意这里是父亲的类和继承不一样了。c1.setName("曼基康");c1.setAge(2);System.out.println(c1.getName()+","+c1.getAge());c1.eat();animal d1=new dog();//创建狗对象,注意这里是父亲的类和继承不一样了。d1.setName("金毛");d1.setAge(2);System.out.println(d1.getName()+","+d1.getAge());d1.eat();}}
结果演示
下片是猫和狗的抽象版和接口版。