java编程思想-复用类
/*
一个文件中只能有一个public类
并且此public类必须与文件名相同
*/
class WaterSource
{
private String s;
WaterSource()
{
System.out.println("WaterSource()");
s = "constructed";
}
//每一个非基本类型的对象都有一个toString()方法,当编译器需要一个String而却只有一个对象时,该方法便会被调用
public String toString()
{
return s;
}
} public class first
{
private WaterSource source = new WaterSource();
public String toString()
{
return "source = " + source;
}
public static void main(String[] args)
{
first fir = new first();
System.out.println(fir);
}
}
/*
WaterSource()
source = constructed
*/
//继承语法,java用super关键字表示超类,当前类从超类继承来
//一个程序中含有多个类,只有命令行所调用的那个类的main()方法会被调用
class Cleanser
{
private String s = "Cleanser";
public void append(String a)
{
s += a;
}
public void apply()
{
append(" apply()");
}
public String toString()
{
return s;
}
public static void main(String[] args)
{
Cleanser x = new Cleanser();
System.out.println(x);
}
} public class first extends Cleanser
{
public void apply()
{
append(" first.apply()");
super.apply();
}
public static void main(String[] args)
{
first x = new first();
x.apply();
System.out.println(x);
}
}
//java会自动在派生类的构造器中插入对基类构造器的调用
class Art
{
Art()
{
System.out.println("Art constructed");
}
} public class first extends Art
{
public first()
{
System.out.println("first constructed");
}
public static void main(String[] args)
{
first x = new first();
}
}
/*
Art constructed
first constructed
*/
//如果没有默认的基类构造器,或者想调用一个带参数的基类构造器,就必须用super显式调用基类构造器,且必须是在构造器的起始处就要这么做,否则编译器会
//报错,因为没有默认的基类构造器
class Game
{
Game(int i)
{
System.out.println("Game" + i);
}
}
public class first extends Game
{
first()
{
super(11);
System.out.println("first");
}
public static void main(String[] args)
{
first x = new first();
}
}
/*
Game11
first
*/
java编程思想-复用类的更多相关文章
- java编程思想-复用类总结
今天继续读<java 编程思想>,读到了复用类一章,看到总结写的很好,现贴上来,给大家分享. 继承和组合都能从现有类型生成新类型.组合一般是将现有类型作为新类型底层实现的一部分来加以复用, ...
- java编程思想-复用类(2)
如果java的基类拥有某个已被多次重载的方法名称,那么在导出类中重新定义该方法名称并不会屏蔽其在基类中的任何版本(这一点与C++不同) class Homer { char doh(char c) { ...
- Java编程思想(四) —— 复用类
看了老罗罗升阳的专訪,不由自主地佩服,非常年轻,我之前以为和罗永浩一个级别的年龄.也是见过的不是初高中编程的一位大牛之中的一个,专訪之后.发现老罗也是一步一个脚印的人. 别说什么难做,做不了.你根本就 ...
- 33.JAVA编程思想——JAVA IO File类
33.JAVA编程思想--JAVA IO File类 RandomAccessFile用于包括了已知长度记录的文件.以便我们能用 seek()从一条记录移至还有一条:然后读取或改动那些记录. 各记录的 ...
- Java编程思想 (1~10)
[注:此博客旨在从<Java编程思想>这本书的目录结构上来检验自己的Java基础知识,只为笔记之用] 第一章 对象导论 1.万物皆对象2.程序就是对象的集合3.每个对象都是由其它对象所构成 ...
- Java编程思想总结笔记The first chapter
总觉得书中太啰嗦,看完总结后方便日后回忆,本想偷懒网上找别人的总结,无奈找不到好的,只好自食其力,尽量总结得最好. 第一章 对象导论 看到对象导论觉得这本书 目录: 1.1 抽象过程1.2 每个对象 ...
- Java编程思想读书笔记(一)【对象导论】
2018年1月7日15:45:58 前言 作为学习Java语言的经典之作<Java编程思想>,常常被人提起.虽然这本书出版十年有余,但是内容还是很给力的.很多人说这本书不是很适合初学者,我 ...
- Java编程思想(前十章)
Java编程思想 有C++编程基础的条件下, 前10章可以快速过一下,都是基本语法,不需要花太多时间. 着重中后段的一些章节,类型信息.泛型.容器.IO.并发等. 中文翻译版 阅读地址 对于一个架构师 ...
- 《Java编程思想第四版完整中文高清版.pdf》-笔记
D.2.1 安插自己的测试代码 插入下述“显式”计时代码,对程序进行评测: long start = System.currentTimeMillis(); // 要计时的运算代码放在这儿 long ...
随机推荐
- VM virtualBox网络地址设置
目的:在虚拟机LINUX中,可用通过主机访问到虚机内容. 问题描述,在虚机系统中,ip地址一直为127.0.0.1,无法在主机中建立连接 参考文章:https://cnzhx.net/blog/vir ...
- js 删除数组中某一项的几种方法总结
第一种:改变原数组 借用原生数组方法:splice(index,len,[item]) 剪接 借用原生对象方法:delete array[index] + array.slice(0, index) ...
- php生成订单号-当天从1开始自增
/** * 生成订单号 * -当天从1开始自增 * -订单号模样:20190604000001 * @param Client $redis * @param $key * @param $back: ...
- Spring Boot . 4 -- 定制 Spring Boot 配置 【2】
除了第一篇中使用 覆写的方式进行 自动配置的更改外,还可以通过 Spring Boot 中提供的 application.properties 文件改变应用的运行时配置.这种配置的方式粒度是非常精细的 ...
- Python机器学习——DBSCAN聚类
密度聚类(Density-based Clustering)假设聚类结构能够通过样本分布的紧密程度来确定.DBSCAN是常用的密度聚类算法,它通过一组邻域参数(ϵϵ,MinPtsMinPts)来描述样 ...
- for in,Object.keys()与for of的用法与区别
Array.prototype.sayLength=function(){ console.log(this.length); } let arr = ['a','b','c','d']; arr.n ...
- 笔试算法题(28):删除乱序链表中的重复项 & 找出已经排好序的两个数组中的相同项
出题:给定一个乱序链表,节点值为ASCII字符,但是其中有重复项,要求去除重复项并保证不改变剩余项的原有顺序: 分析:创建一个256(2^8)大小的bool数组,初始化为false,顺序读取链表,将字 ...
- VM虚拟机中CentOS6.4操作系统安装一
在 VMware中鼠标单击“编辑虚拟机设置”,在弹出的“虚拟机设置”对话框中的“硬件”标签中选择“CD/DVD(IDE)”,然后在右侧的“CD /DVD(IDE)”连接选项中选择“使用ISO映像文件” ...
- KBE_运作流程
图片来自官方手册:Switch Fabric:交换机网络,根据网络环境的不同而不同,根据用户自己的情况进行配置,不属于引擎范畴. 运作流程 Client连接Loginapp通过API连接,如下示例: ...
- atom 安装插件列表
插件列表 atom-beautify docblockr autocomplete-python goto-definition platformio-ide-terminal symbols-tre ...