首页 > 分享 > Java猫和狗(继承,多态,抽象,接口版)下

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

上篇,我们学习了猫和狗的继承和多态 这篇,我们继续来写猫和狗的抽象和接口版

简单思路不变:1.定义动物类 2.定义猫,狗类,让他们成为动物的子类
3.编写测试类。

抽象:abstract 不能实例化,但是可以参照多态的方法实例化。
代码和之前的多态差别不大。

//animal.class package Stu; public abstract 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; } public abstract void eat(); }

12345678910111213141516171819202122232425

//cat.class package Stu; public class cat extends animal { public cat() { } public cat(String name, int age) { super(name, age); } @Override public void eat() { System.out.println("猫吃鱼"); } } 1234567891011121314

//dog.class package Stu; public class dog extends animal { public dog() { } public dog(String name, int age) { super(name, age); } @Override public void eat() { System.out.println("狗吃肉"); } } 1234567891011121314

//anidemo.class package 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(); } }

12345678910111213141516171819

结果演示
在这里插入图片描述

接口:公共的规范标准,java中体现在对行为的抽象
定义了一个接口,实现猫和狗练习算术

//math package Stu; public interface math { public abstract void mathing(); } 1234567

//animal 和抽象的一摸一样,所以就不写了 12

//cat package Stu; public class cat extends animal implements math{//定义一个类继承animal实现接口math public cat() { } public cat(String name, int age) { super(name, age); } @Override public void eat() { System.out.println("猫吃鱼"); } @Override public void mathing() { System.out.println("猫练习算术"); } }

123456789101112131415161718

//dog package Stu; public class dog extends animal implements math{//定义一个类继承animal实现接口math public dog() { } public dog(String name, int age) { super(name, age); } @Override public void eat() { System.out.println("狗吃肉"); } @Override public void mathing() { System.out.println("狗练习算术"); } }

123456789101112131415161718

//anidemo package Stu; //测试类 public class anidemo { public static void main(String[] args) { math c=new cat();//使用多态的方法创建 c.mathing(); System.out.println("************"); animal c1=new cat();//创建猫对象,按照多态的方式,因为抽象不能实例化 c1.setName("曼基康"); c1.setAge(2); System.out.println(c1.getName()+","+c1.getAge()); c1.eat(); System.out.println("************"); math d=new dog();//使用多态的方法创建 d.mathing(); System.out.println("************"); animal d1=new dog();//创建狗对象,按照多态的方式,因为抽象不能实例化 d1.setName("金毛"); d1.setAge(2); System.out.println(d1.getName()+","+d1.getAge()); d1.eat(); } }

12345678910111213141516171819202122232425

具体使用接口是这样的

//具体使用接口 cat c2=new cat(); c2.mathing(); 123

结果演示
在这里插入图片描述
ok,到这里,继承,多态,抽象,接口都演示完毕。

相关知识

Java分别采用继承、多态、抽象类、接口实现猫和狗的入门案例
多态
Java面向对象
java用继承编写宠物乐园
任务三、学生喂养三种宠物:猫、狗和鸟
(Java)继承与多态基础训练
java 多态
Educoder–Java面向对象 继承和多态综合练习 第1关:练习
多态应用
11.学生喂养三种宠物:猫、狗和鸟

网址: Java猫和狗(继承,多态,抽象,接口版)下 https://m.mcbbbk.com/newsview394003.html

所属分类:萌宠日常
上一篇: 全世界最快!温州“滑板猫”创下吉
下一篇: 谁打赢了,谁就做猫老大