学习Java继承和多态时的一个小demo
来源:互联网 发布:双倍定金怎么算法 编辑:程序博客网 时间:2024/06/03 17:33
很智障的一个小demo啊啊啊啊啊
主要是为了理解继承和多态做的一个小demo
DataBase.java
package demo;import java.util.ArrayList;public class Database {private ArrayList<Iteam> listIteam=new ArrayList<>();//多态性,父类的引用变量可以指向子类的对象,储存父类变量的容器也可以储存子类变量public void add(Iteam iteam){listIteam.add(iteam);}public void list(){ for(Iteam it:listIteam){//动态绑定的体现,在运行时再决定具体调用那一个函数。但在基类当中一定要有print()方法的存在,否则是无法通过编译的。
it.print();//如果在基类当中没有print()函数,也可以通过instenceof操作符来进行显式的造型解决 }}public static void main(String[] args) {// TODO Auto-generated method stubDatabase db=new Database();CD cd1=new CD("aaa", "bbb",4,100,"....");CD cd2=new CD("aaa", "bbb",4,100,"....");db.add(cd1);db.add(cd2);DVD dvd1=new DVD("aaa", "bbb",4,100,"....");db.add(dvd1);db.list();}}
Iteam.java
package demo;public class Iteam {private String title;private int numOfTracks;private int playingTime;private boolean gotIt=false;private String comment;/**最好为每个类提供一个无参构造方法*/public Iteam(){}public Iteam(String title, int numOfTracks, int playingTime, String comment) {super();this.title = title;this.numOfTracks = numOfTracks;this.playingTime = playingTime;this.comment = comment;}public void print(){System.out.println(title+comment);}public static void main(String[] args) {// TODO Auto-generated method stub}}
CD.java
package demo;public class CD extends Iteam{private String artist; public CD(){ } public CD(String title,String artist,int numOfTracks, int playingTime, String comment){super(title, numOfTracks, playingTime, comment);this.artist=artist;}public void print(){System.out.print("CD:"+artist+' ');super.print();}public static void main(String[] args) {// TODO Auto-generated method stub}}
DVD.java
package demo;public class DVD extends Iteam {private String director; public DVD(){ }public DVD(String title,String director, int numOfTracks, int playingTime, String comment) {super(title, numOfTracks, playingTime, comment);this.director=director;} public void print(){ System.out.print("DVD:"+director); super.print(); }}
阅读全文
0 0
- 学习Java继承和多态时的一个小demo
- 继承ViewGroup研究(1)--简介和一个小Demo
- 继承ViewGroup研究(1)--简介和一个小Demo
- Android中继承View的研究(一) -- 一个小Demo
- java继承的一个小例子
- Java关于继承的一个小疑问
- java和RRedis写入的小demo
- Java回顾:用一个Demo来说明继承抽象类和实现接口的简单框架模型
- Java 密码学架构 - 对称加密的一个小Demo
- Java通过JNI调用C的一个小DEMO
- Java Socket---一个简单的即时通讯小Demo
- Java通过JNI调用C的一个小demo
- java调用spark+hdfs计算的一个小demo
- WCF的一个小Demo
- xml的一个小Demo
- DotNetMQ的一个小demo
- 简单的一个小Demo
- kdb+q一个入库和删除的小demo
- 如何判断一个对象是不是数组?--xyp_hf
- android Activity跳转到指定的Fragment
- 河南省多校连萌(四)
- 在XP上安装VS2003及注意事项
- ZOJ2067 经典 DP
- 学习Java继承和多态时的一个小demo
- javaweb中请求转发与重定向的区别
- CombineFileinputFormat处理大批量小文件
- ionic3返回按钮样式改动
- 机器学习面试题
- Android开发笔记 ViewPager 嵌套 RecyclerView instantiateItem数据初始化错位问题
- 流行编程语言的详细对比(9)--线程建立
- fork()和vfork()
- 关于 Socket 设置 setSoTimeout 误用的说明