1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Java猫和狗(继承 多态 抽象 接口版)上

Java猫和狗(继承 多态 抽象 接口版)上

时间:2021-07-27 06:51:13

相关推荐

Java猫和狗(继承 多态 抽象 接口版)上

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();}}

结果演示

下片是猫和狗的抽象版和接口版。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。