抽象类、方法以及接口练习

  • 一、前言
  • 二、题目
  • 三、题目分析
    • 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练习题——抽象类、方法以及接口相关推荐

  1. java的抽象类的三角形周长_怎么使用Java把抽象类改为接口计算三角形,长方形,圆形的面积?...

    可以写一下详细过程吗? interface Graphices { // 计算面积的抽象方法,分号";"必不可少 public abstract double area(); } ...

  2. java中抽象类 接口_java中的抽象类与接口

    1.抽象类的定义 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类. 2.简单实例 ...

  3. Java中抽象类和接口之间的区别

    一些受欢迎的访谈问题是"抽象类和接口之间有什么区别","什么时候使用抽象类以及什么时候使用接口". 因此,在本文中,我们将讨论这个主题. 在探讨它们之间的差异之 ...

  4. Java中抽象类和接口在概念、语法和应用上的区别和关系

    2019独角兽企业重金招聘Python工程师标准>>> 春招开始了,盆友们都忙着准备笔试.准备面试,复习学过的知识点,当然我也不例外,在这里祝每一个"有心人"心想 ...

  5. Java 中抽象类与接口

    Java 抽象类: 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这个类就是抽象类. 抽象类不能创 ...

  6. Java面向对象编程篇3——接口与抽象类

    Java面向对象编程篇3--接口与抽象类 1.接口(interface) 接口中可以含有变量和方法.但是要注意,接口中的变量会被隐式地指定为public static final变量(并且只能是pub ...

  7. java 抽象类 方法_java 抽象类

    Java为什么使用抽象类和接口 Java接口和Java抽象类代表的就是抽象类型,就是我们需要提出的抽象层的具体表现.OOP面向对象的编程,如果要提高程序的复用率,增加程序的可维护性,可扩展性,就必须是 ...

  8. java中抽象类与接口的不同之处

    c++虚类相当与java里面的抽象类,与接口的不同之处如下: 1.一个子类只能继承一个抽象类(虚类),但能实现多个接口: 2.一个抽象类可以有构造方法,接口没有构造方法: 3.一个抽象类中的方法不一定 ...

  9. Java中抽象类和接口

    一.抽象类 在了解抽象类之前,先来了解一下抽象方法.抽象方法是一种特殊的方法:它只有声明,而没有具体的实现.抽象方法的声明格式为: 1 abstract void fun(); 抽象方法必须用abst ...

最新文章

  1. NeurIPS 2021 | 通过动态图评分匹配预测分子构象
  2. Mocha BSM应用管理——Lotus Domino监控与管理
  3. Kafka使用遇到的坑
  4. 136. 邻值查找【set lower_bound】
  5. 【云周刊】第139期:阿里年会黑科技全揭秘:IoT手环、人脸识别验票、大屏弹幕互动等“十八般武艺”轮番上阵...
  6. 云小课|ModelArts Pro 视觉套件:零代码构建视觉AI应用
  7. opencv 直方图均等化
  8. 冬天你的车热的正确吗?如何正确热车?
  9. 显示visual studio试用版序列号输入框小程序_Visual Studio 2008试用版的评估期已经结束 的解决方法...
  10. 算法设计与分析知识点整理
  11. 如何修改android模拟器上的IMEI、IMSI、SIM card serial number
  12. 直接选择排序到堆排序做的那些改进
  13. 计算机常识 和 应用技巧
  14. win7 计算机设置命令,win7系统如何设置自动关机?
  15. Pandas的列表值处理技巧,避免过多循环加快处理速度
  16. day23_1-re模块之转义字符、分组、方法
  17. 学习笔记(03):ArcGIS10.X入门实战视频教程(GIS思维)-坐标系与地理坐标系
  18. 包和工具(读书笔记)
  19. 重置 winsocks
  20. [宋史学习] 结合水浒传看职役

热门文章

  1. 数学术语——指数的发展历程
  2. PHP模板怎样安装,phpcms网站程序如何安装新的模板文件
  3. 网易云易盾CTO朱浩齐:我们是如何用AI赋能内容安全?
  4. Python网络爬虫:爬取豆瓣上《小王子》书评
  5. 可升级的瑞星和卡巴KEY
  6. 浏览器搜索引擎(SEO)优化
  7. c++课程设计总结报告
  8. 计算机网络电视如何配置,电脑投屏到电视无线怎么设置(手把手教你设置技巧)...
  9. 芋道 Spring Boot 热部署入门
  10. 对初学者的React Hooks-关于useState和useEffect的大脑友好指南