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 ...
随机推荐
- UTF自动化测试工具
自UFT推出后,QTP慢慢退出历史舞台 UFT测试的基本流程:录制测试脚本—-编辑测试脚本—-调试测试脚本—-运行测试脚本—-分析测试结果 UFT(QTP)介绍 http://blog.csdn. ...
- Wannafly Camp 2020 Day 2A 托米的字符串
#include <bits/stdc++.h> using namespace std; const int N = 1000005; int n; char str[N]; int a ...
- PyQt5-QDateEdit的简单使用
使用PyQt5开发图形界面,里面使用日期框,这里把这个QDateEdit组件命名为:beginDate from PyQt5.QtCore import QDate 1.初始化赋值,不设置则默认为20 ...
- Selenium自动化发送163邮箱
自动化发送163邮件 方法一: import time import datetime from selenium import webdriver from selenium.webdriver.s ...
- 利用Marshal来管理非托管资源
void MarshalChartDemo() { string name = "xuwei"; IntPtr pName = Marshal.AllocHGlobal(name. ...
- openstack入门及应用
一.OpenStack云计算的介绍 (一)云计算的服务类型 IAAS:基础设施即服务,如:云主机 PAAS:平台即服务,如:docker SAAS:软件即服务,如:购买企业邮箱,CDN 传统IT IA ...
- MySQL常用命令符
收集于网络!!!! 解决字符乱码问题:显示汉语而非乱码:set names utf8: 修改新密码:update user set password=PASSWORD('新密码') where use ...
- 在SQL2005中修改数据库名称
SQL Server 2005中有个数据库HT_WisdomDataBaseCenter,现在要将其改名为HT_NBSBOneNetcs1步骤:(1) 分离数据库:打开management studi ...
- bootstrap4的改进
- .net_DevExpress控件使用经验总结
(转)DevExpress控件使用经验总结DevExpress是一个比较有名的界面控件套件,提供了一系列的界面控件套件的DotNet界面控件.本文主要介绍我在使用DevExpress控件过程中,遇到或 ...