Java进阶学习(4)之继承与多态.demo
多媒体数据库小练习
package com.dome; import java.util.ArrayList; public class Database
{ // private ArrayList<CD> listCD=new ArrayList<CD>();
// private ArrayList<DVD> listDVD=new ArrayList<DVD>();
private ArrayList<Iterm> listIterm=new ArrayList<Iterm>(); // public void add(CD cd)
// {
// listCD.add(cd);
// }
//
// public void add(DVD dvd)
// {
// listDVD.add(dvd);
// }
public void add(Iterm iterm)
{
listIterm.add(iterm);
} public void list()
{
// for (CD cd : listCD)
// {
// cd.print();
// }
// for (DVD dvd : listDVD)
// {
// dvd.print();
// }
for (Iterm iterm : listIterm)
{
iterm.print();
}
} public static void main(String[] args)
{
// TODO Auto-generated method stub // Database db=new Database();
// db.add(new CD("abc", "abc", 4, 60, "..."));
// db.add(new CD("def", "def", 4, 60, "..."));
// db.add(new DVD("xxx","xxx",120,"..."));
// db.list();
Iterm i=new Iterm("a", 3, false, "..");
i.print();
} }
Iterm类
package com.dome; public class Iterm
{ private String title;
private int playingTime;
private boolean gotIt = false;
private String comment; public Iterm(String title, int playingTime, boolean gotIt, String comment)
{
super();
this.title = title;
this.playingTime = playingTime;
this.gotIt = gotIt;
this.comment = comment;
} protected void print()
{
// TODO Auto-generated method stub
System.out.print(title);
} }
CD类
package com.dome; public class CD extends Iterm
{ private String artist;
private int numofTracks; public CD(String title, String artist, int numofTracks, int playingTime, String comment)
{
super(title,playingTime,false,comment);
// this.title = title;
this.artist = artist;
this.numofTracks = numofTracks;
} public static void main(String[] args)
{
// TODO Auto-generated method stub } public void print()
{
// TODO Auto-generated method stub
System.out.print("CD:");
super.print();
System.out.println(":"+artist);
}
}
DVD类
package com.dome; public class DVD extends Iterm
{ private String director; public DVD(String title, String director, int playingTime, String comment)
{
super(title, playingTime, false, comment);
this.director = director;
} public static void main(String[] args)
{
// TODO Auto-generated method stub } public void print()
{
// TODO Auto-generated method stub
System.out.print("CD:");
super.print();
System.out.print(":"+director);
} }
总结:通过这次小练习,体会了代码重复的危害和继承和函数的好处。
Java进阶学习(4)之继承与多态.demo的更多相关文章
- Java进阶学习:将文件上传到七牛云中
Java进阶学习:将文件上传到七牛云中 通过本文,我们将讲述如何利用七牛云官方SDK,将我们的本地文件传输到其存储空间中去. JavaSDK:https://developer.qiniu.com/k ...
- Java进阶学习:log4j的学习和使用
Java进阶学习——log4j的学习和使用 简介Loj4j Log4j的组成 Log4j主要由三大组组件构成: Logger: 负责生成日志,并能够对日志信息进行分类筛选,通俗的讲就是决定什么日志信息 ...
- Java学习--封装、继承、多态
接下来几天会根据http://www.cnblogs.com/chenssy/category/525010.html中讲解的java内容做个学习笔记,在此感谢一下这位大仙!! 一.封装 对于封装而言 ...
- 浅析Java三大特性封装、继承、多态,及作业分析
前言 本次博客衔接上次博客,作为这一阶段Java学习的分析.上一篇博客着重介绍了Java的OO编程思维,面向对象与面向过程的区别.本篇博客重心在Java的三大技术特性,附带作业分析. Java三大特性 ...
- Java基础之浅谈继承、多态
一.继承的理解 继承:简单通俗的来讲,继承就是一个类继承另一个类,通常用extends表示继承. 继承的类叫子类,被继承的类叫父类. 子类可以使用父类的变量和方法,同时也可以重写父类的方法. 在Jav ...
- Java—类的封装、继承与多态
一.类和对象 1.类 类是数据以及对数据的一组操作的封装体. 类声明的格式: 类声明 { 成员变量的声明: 成员方法的声明及实现: } 1.1 声明类 [修饰符] class 类<泛型> ...
- java复习(5)---接口、继承、多态
Java作为完全面向对象语言,接口.继承和多态是三个非常重要的概念. 1.继承. (1)关键字: extends (2)子类用super()调用父类构造函数,用super().方法 调用父类的成员方法 ...
- Java探索之旅(8)——继承与多态
1父类和子类: ❶父类又称基类和超类(super class)子类又称次类和扩展类.同一个package的子类可以直接(不通过对象)访问父类中的(public,缺省,protected)数据和方法. ...
- java面向对象(封装,继承,多态,抽象,接口的定义和实现)
1.封装 在面向对象程式设计方法中,封装(英语:Encapsulation)是指,一种将抽象性函式接口的实作细节部份包装.隐藏起来的方法. 封装可以被认为是一个保护屏障,防止该类的代码和数据被外部类定 ...
- Java进阶学习(4)之继承与多态(下)
多态变量和向上造型 多态变量 子类和子类型 类定义了类型 子类定义了子类型 子类的对象可以被当作父类的对象来使用 赋值给父类的变量 传递给需要父类对象的函数 放进存放父类对象的容器里 多态变量 Jav ...
随机推荐
- 假期学习【八】首都之窗百姓信件爬虫(完整版)2020.2.6 Python
时间:2020.2.6 今天把昨天做到一半的首都之窗百姓信件爬取完成了. 源码如下: import requests import io from bs4 import BeautifulSoup # ...
- 在vue项目中播放m3u8格式视频
前言:最近公司在做一个线上会议的项目,要求后台网站播放m3u8格式的视频,查找部分资料,总结一下,方便后边查阅 1.在vue工程中安装以下依赖: cnpm install video.js --sa ...
- H3C端口隔离
一.端口隔离简介 为了实现端口间的二层隔离,可以将不同的端口加入不同的VLAN,但VLAN资源有限.采用端口隔离特性,用户只需要将端口加入到隔离组中,就可以实现隔离组内端口之间二层隔离,而不关心这些端 ...
- CSS基础之浮动属性float图文详解
宏观地讲,我们的web页面的制作,是个“流”,必须从上而下,像“织毛衣”. 标准流里面的限制非常多,导致很多页面效果无法实现.如果我们现在就要并排.并且就要设置宽高,那该怎么办呢?办法是:超脱 ...
- 04-Java基础语法【IDEA、方法】
重要内容记录: 01.IDE介绍 IDE(Integarted Development Environment)是Java集成开发环境,是一种专门用来提高Java开发效率的软件. 免费的IDE:Ecl ...
- 二分-F - Aggressive cows
F - Aggressive cows Farmer John has built a new long barn, with N (2 <= N <= 100,000) stalls. ...
- 二分-D - Can you solve this equation?
D - Can you solve this equation? Now,given the equation 8*x^4 + 7*x^3 + 2*x^2 + 3*x + 6 == Y,can you ...
- Three.js的开始(附代码)_2
1 下载Three.js代码 https://github.com/mrdoob/three.js/tree/master/build 2 引用方法 在HTML中添加以下代码: <script ...
- 【Python】数值运算操作符
- React的组件化
所谓组件,即封装起来的具有独立功能的UI部件.React推荐以组件的方式去重新思考UI构成,将UI上每一个功能相对独立的模块定义成组件,然后将小的组件通过组合或者嵌套的方式构成大的组件,最终完成整体U ...