Java练习题——抽象类、方法以及接口
抽象类、方法以及接口练习
- 一、前言
- 二、题目
- 三、题目分析
- 1.画图
- 2.接口
- 3.抽象方法
- 4.继承关系
- 5.重写方法
- 四、代码实现
- 1.父类
- 2.接口
- 3.青蛙
- 4.小狗
- 5.兔子
- 6.测试类
- 五、测试代码
- 六、结语
一、前言
一道题检测你是否掌握了抽象类、抽象方法和接口,相关知识点请在【Java进阶学习篇】中点击查看
二、题目
请编写带有抽象类标准的Javabean类,要求如下
属性 | 行为 | |
---|---|---|
青蛙Frog | 名字(小青蛙)、年龄(1) | 吃虫子、蛙泳 |
狗Dog | 名字(小狗)、年龄(2) | 吃骨头、狗刨式游泳 |
兔子 | 名字(小白兔)、年龄(3) | 吃胡萝卜 |
三、题目分析
1.画图
2.接口
由于兔子不会游泳,并且青蛙和狗都是不同泳姿,所以swim是接口
public interface Swim {public abstract void swim();
}
3.抽象方法
由于三种动物都有吃的行为,但是吃的不一样,所以eat是抽象方法
public abstract void eat();
4.继承关系
由于三种动物都有共同属性:名字和属性,并且有共同行为:吃,所以只需要在共同父类(Animal)中编写标准Javabean类即可
5.重写方法
在子类中,对于接口和抽象方法要进行方法体的重写,且要继承属性
四、代码实现
1.父类
public abstract class Animal {private String name;private int age;public Animal(String name, int age) {this.name = name;this.age = age;}public Animal() {}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();}
2.接口
public interface Swim {public abstract void swim();
}
3.青蛙
public class Frog extends Animal implements Swim {public Frog(String name, int age) {super(name, age);}@Overridepublic void eat() {System.out.println("吃虫子");}@Overridepublic void swim() {System.out.println("蛙泳");}
}
4.小狗
public class Dog extends Animal implements Swim {public Dog(String name, int age) {super(name, age);}@Overridepublic void eat() {System.out.println("吃骨头");}@Overridepublic void swim() {System.out.println("狗刨式游泳");}
}
5.兔子
public class Rabbit extends Animal{public Rabbit(String name, int age) {super(name, age);}@Overridepublic void eat() {System.out.println("吃胡萝卜");}
}
6.测试类
public class Test {public static void main(String[] args) {Frog f = new Frog("小青蛙",1);System.out.println(f.getName() + "今年" + f.getAge() + "岁\n它的行为有:");f.eat();f.swim();System.out.println("---------------");Dog g = new Dog("小狗",2);System.out.println(g.getName() + "今年" + g.getAge() + "岁\n它的行为有:");g.eat();g.swim();System.out.println("---------------");Rabbit r = new Rabbit("小白兔",3);System.out.println(r.getName() + "今年" + r.getAge() + "岁\n它的行为有:");r.eat();}
}
五、测试代码
六、结语
在写子类时一定要记得重写方法,并且要继承属性,否则在测试类中将无法给子类对象赋值
Java练习题——抽象类、方法以及接口相关推荐
- java的抽象类的三角形周长_怎么使用Java把抽象类改为接口计算三角形,长方形,圆形的面积?...
可以写一下详细过程吗? interface Graphices { // 计算面积的抽象方法,分号";"必不可少 public abstract double area(); } ...
- java中抽象类 接口_java中的抽象类与接口
1.抽象类的定义 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类. 2.简单实例 ...
- Java中抽象类和接口之间的区别
一些受欢迎的访谈问题是"抽象类和接口之间有什么区别","什么时候使用抽象类以及什么时候使用接口". 因此,在本文中,我们将讨论这个主题. 在探讨它们之间的差异之 ...
- Java中抽象类和接口在概念、语法和应用上的区别和关系
2019独角兽企业重金招聘Python工程师标准>>> 春招开始了,盆友们都忙着准备笔试.准备面试,复习学过的知识点,当然我也不例外,在这里祝每一个"有心人"心想 ...
- Java 中抽象类与接口
Java 抽象类: 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这个类就是抽象类. 抽象类不能创 ...
- Java面向对象编程篇3——接口与抽象类
Java面向对象编程篇3--接口与抽象类 1.接口(interface) 接口中可以含有变量和方法.但是要注意,接口中的变量会被隐式地指定为public static final变量(并且只能是pub ...
- java 抽象类 方法_java 抽象类
Java为什么使用抽象类和接口 Java接口和Java抽象类代表的就是抽象类型,就是我们需要提出的抽象层的具体表现.OOP面向对象的编程,如果要提高程序的复用率,增加程序的可维护性,可扩展性,就必须是 ...
- java中抽象类与接口的不同之处
c++虚类相当与java里面的抽象类,与接口的不同之处如下: 1.一个子类只能继承一个抽象类(虚类),但能实现多个接口: 2.一个抽象类可以有构造方法,接口没有构造方法: 3.一个抽象类中的方法不一定 ...
- Java中抽象类和接口
一.抽象类 在了解抽象类之前,先来了解一下抽象方法.抽象方法是一种特殊的方法:它只有声明,而没有具体的实现.抽象方法的声明格式为: 1 abstract void fun(); 抽象方法必须用abst ...
最新文章
- NeurIPS 2021 | 通过动态图评分匹配预测分子构象
- Mocha BSM应用管理——Lotus Domino监控与管理
- Kafka使用遇到的坑
- 136. 邻值查找【set lower_bound】
- 【云周刊】第139期:阿里年会黑科技全揭秘:IoT手环、人脸识别验票、大屏弹幕互动等“十八般武艺”轮番上阵...
- 云小课|ModelArts Pro 视觉套件:零代码构建视觉AI应用
- opencv 直方图均等化
- 冬天你的车热的正确吗?如何正确热车?
- 显示visual studio试用版序列号输入框小程序_Visual Studio 2008试用版的评估期已经结束 的解决方法...
- 算法设计与分析知识点整理
- 如何修改android模拟器上的IMEI、IMSI、SIM card serial number
- 直接选择排序到堆排序做的那些改进
- 计算机常识 和 应用技巧
- win7 计算机设置命令,win7系统如何设置自动关机?
- Pandas的列表值处理技巧,避免过多循环加快处理速度
- day23_1-re模块之转义字符、分组、方法
- 学习笔记(03):ArcGIS10.X入门实战视频教程(GIS思维)-坐标系与地理坐标系
- 包和工具(读书笔记)
- 重置 winsocks
- [宋史学习] 结合水浒传看职役