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 ...
随机推荐
- mysql 服务
1.以管理员身份运行cmd:C:\Windows\System32\cmd.exe 右键以管理员身份运行 2.“具体路径” --install “D:\programme installatio ...
- 针对wordpress CMS的信息收集
如果发现一个站点用的是wordpress管理系统的话, 可以试试默认的后台地址:/wp-admin/ 访问后自动跳转置 后台登录界面 用户名收集 :/?author=1 依次访问/author=1 , ...
- 第一章 - HTTP概述
1.1 HTTP——因特网的多媒体信使 可靠的数据传输协议 1.2 Web客户端和服务器 Web内容都是存储在Web服务器上的,使用HTTP协议,因此也称为HTTP服务器 HTTP客户端发出请求,提供 ...
- Unable to connect to Elasticsearch at http://elasticsearch:9200. statu red Kibana 安装
解决方案 docker run -d -p 5601:5601 --link elasticsearch -e "elasticsearch_url=容器ip:9200" --na ...
- 在 window 上卸载 mysql
1.停止 mysql 服务 开始——>控制面板——>管理工具——>服务,停掉 MySQL 的服务 2.卸载安装包 控制面板-添加删除程序,找到MySQL,卸载(可能会有多个安装包,需 ...
- 洛谷 P3796 【模板】AC自动机(加强版)(AC自动机)
题目链接:https://www.luogu.com.cn/problem/P3796 AC自动机:复杂度$O( (N+M)\times L )$,N为模式串个数,L为平均长度,M为文章长度. ins ...
- javacv FFmpeg 视频压缩
package com.nmcc.demo.utils; import lombok.extern.slf4j.Slf4j; import org.bytedeco.javacpp.avcodec; ...
- 超简单的OpenGL & WebGL & Three.js介绍_1
专业解释 什么是OpenGL OpenGL(Open Graphics Library即开放图形库或者“开放式图形库”)是用于渲染2D.3D矢量图形的跨语言.跨平台的应用程序编程接口(API). 这个 ...
- Python警告:InsecureRequestWarning、InsecurePlatformWarning、SNIMissingWarning
SSL警告 urllib3将基于证书验证支持的级别发出几种不同的警告.这些警告表示特定情况,可以通过不同方式解决. InsecureRequestWarning 当在未启用证书验证的情况下对HTTPS ...
- JavaScript的HelloWorld创建
JavaScript JavaScript(简写为JS)是一门世界上最流行的脚本语言. ECMAScript是JavaScript的一个标准,最新版本到es6版本. 但是开发环境和线上环境存在版本不一 ...