抽象类+接口+内部类(有点晕 写的自己都感觉不太对)
1. 编写程序描述兔子和青蛙
需求说明:使用面向对象的思想,设计自定义类描述兔子和青蛙。
实现思路及关键代码
1) 分析兔子和青蛙的共性
2) 根据共性,定义抽象的动物类
属性:名字、颜色、类别(哺乳类、非哺乳类)
方法:吃饭,发出叫声
3) 根据青蛙会游泳 抽象游泳的接口
方法:游泳
4) 定义兔子继承动物类,青蛙继承动物同时实现游泳接口
public abstract class Animal {String name;String color;String sort;public Animal(String name, String color, String sort) {this.name = name;this.color = color;this.sort = sort;}public Animal() {}public abstract void eat();public abstract void cry();
}
public interface Swim {public void swimming();
}
public class Rabbit extends Animal{public Rabbit(String name, String color, String sort) {super(name, color, sort);}@Overridepublic void eat() {System.out.println("兔子是"+sort+",爱吃胡萝卜");}@Overridepublic void cry() {System.out.println("那只"+color+"的,名叫"+name+"的兔子正在叽叽的叫");}
}
public class Frog extends Animal implements Swim{public Frog(String name, String color, String sort) {super(name, color, sort);}@Overridepublic void eat() {System.out.println("青蛙是"+sort+",爱吃昆虫");}@Overridepublic void cry() {System.out.println("那只"+color+"的,名叫"+name+"的青蛙正在呱呱的叫");}@Overridepublic void swimming() {System.out.println("虽然不是鱼,但青蛙也是泳坛高手");}
}
public class Test {public static void main(String[] args) {Rabbit r = new Rabbit("美人", "黑色", "哺乳类");r.cry();r.eat();System.out.println("==========================");Frog f = new Frog("大兵", "绿色", "非哺乳类");f.cry();f.eat();f.swimming();}
}
2. 编写程序描述影视歌三栖艺人
需求说明:请使用面向对象的思想,设计自定义类,描述影视歌三梄艺人。
实现思路及关键代码
1) 分析影视歌三栖艺人的特性
a) 可以演电影
b) 可以演电视剧
c) 可以唱歌
2) 定义多个接口描述特性
a) 演电影的接口-----方法:演电影
b) 演电视剧的接口-----方法:演电视剧
c) 唱歌的接口-----方法:唱歌
3) 定义艺人类实现多个接口
public class Artist implements Movie,Work,Sing{private String name = "马素素";public void shop(){System.out.println("大家好,我是"+name);}@Overridepublic void Yan() {System.out.println("我会演电影");}@Overridepublic void TV() {System.out.println("我会演电视剧");}@Overridepublic void chang() {System.out.println("我会唱歌");}}
public interface Movie {public void Yan();
}
public interface Work {public void TV();
}
public interface Sing {public void chang();
}
public class Test1 {public static void main(String[] args) {Artist a = new Artist();a.shop();a.Yan();a.TV();a.chang();}
}
抽象类+接口+内部类(有点晕 写的自己都感觉不太对)相关推荐
- 抽象类+接口+内部类作业题及答案
抽象类+接口+内部类作业题 一.选择题 Person类和Test类的代码如下所示,则代码中的错误语句是( ).(选择一项) public class Person { public String na ...
- 抽象类+接口+内部类作业题
抽象类+接口+内部类作业题 一. 选择题 1. Person类和Test类的代码如下所示,则代码中的错误语句是( c ).(选择一项) public class Person { public ...
- 面向对象(final/抽象类/接口/内部类)
>final 关键字 1.final修饰类,这个类不能被被继承; 2.final修饰变量,这个变量的值不能发生改变,就是常量; 注意: final修饰的变量,必须要初始化赋值,否则报错; 赋值的 ...
- Eclipse,静态,继承,封装,this,super,重写,重载,多态,final,冒泡排序,选择排序,抽象类,接口,内部类
文章目录 Eclipse工具中java项目的工程结构 静态代码块的书写格式 静态代码块,构造代码块,构造方法的优先级 static关键字的特点 封装的概念 private关键字的特点 面向对象思想特点 ...
- 包 权限修饰符 final 常量 枚举 抽象类 接口 多态 内部类 常用API 正则表达式 Lambda
包 什么是包? 包是用来分门别类的管理各种不同类的,类似于文件夹.建包利于程序的管理和维护. 建包的语法格式:package 公司域名倒写.技术名称.报名建议全部英文小写,且具备意义. package ...
- Java 抽象类和接口内部类及综合
11.抽象类和接口 1.在JDK1.7中,下述说法中抽象类与接口的区别与联系正确的有哪些? [多选题]全选 您的回答: A.抽象类中可以有普通成员变量,接口中没有普通成员变量. B.抽象类和接口中都可 ...
- 接口,抽象类与内部类
---恢复内容开始--- 抽象类 语法详解 当一个类中有一个抽象方法,那么他必须是一个抽象类 抽象类不能通过new来创建对象 抽象类可以包含抽象方法,但不是必须 若一个类继承自抽象类,那么他必须实现父 ...
- Java中接口、抽象类与内部类学习
2019独角兽企业重金招聘Python工程师标准>>> Java中接口.抽象类与内部类学习 接口与内部类为我们提供了一种将接口与实现分离的更加结构化的方法. 抽象类和抽象方法 抽象方 ...
- 韩顺平循序渐进学java 第13讲 抽象类.接口
13.1抽象类 13.1.1 概念 当父类的一些方法不能确定时,可以用abstract关键字来修饰该方法,称为抽象方法,用abstract来修饰该类,称为抽象类. 13.1.2 抽象类-深入讨论 抽象 ...
最新文章
- ECharts+BaiduMap+HT for Web网络拓扑图应用
- javascript实战项目——网页版贪吃蛇
- 屏蔽朋友圈的第一天的感悟
- java多字段排序,Java8对多个字段排序
- Druid 分析报表中的实战(二)
- 2018-10-03-Python全栈开发-day60-django序列化-part3
- 关于python语言和人工智能下哪个说法不正确_“在资源管理器”窗口中,文件夹图标左侧有“...
- onenote组织知识体系_我们的家人教给我们有关组织生活的知识
- hex转换成C语言源程序吗,第6节:把.c源代码编译成.hex机器码的操作流程
- 中国首档程序员综艺:你有freebug吗?
- 嵌入式软件设计第10次实验报告
- 通过Telnet查询注册服务
- 为什么学霸不情愿帮助同学回答问题?
- 【Webcam设计】视频的采集和动态显示
- 数据库左连接、右连接
- 分享最新win7旗舰版/专业版企业版激活密钥和激活方法哦
- 虚拟局域网服务器群晖,基于虚拟机的黑群晖NAS+基于虚拟局域网的远程访问
- 如何缩小jpg图片大小kb?手机照片怎么压缩大小?
- git pull失败解决 git下“The following untracked working tree files would be overwritten by checkout
- linux iso镜像怎么用u盘装,如何使用U盘安装ISO系统镜像?