2012-05-03
158-163/913
Java编程思想第四版——第二十天
第7章 复用类
复用代码是java众多引人注目的功能之一。
Java中所有事物,问题解决都是围绕着类展开的。可以通过创建新类来服用代码,而不必再重头开始编写,可以使用别人业已开发并调试好的类。此方法的窍门在于使用类而不破坏现有程序代码。两种达到此目的的方法:第一种:只需在新的类中产生现有类的对象,称为组合。复用了现有程序代码的功能,而非它的形式。第二种:按照现有类的类型来创建新类,无需改变现有类的形式,采用现有类的形式并在其中添加新代码,称为继承。编译器可以完成其中大部分工作。继承是面向对象程序设计的基石之一。
组合和继承,语法和行为大多是相似的。
7.1 组合语法
组合技术,只需将对象引用置于新类中即可。
每一个非基本类型的对象都有一个toString()方法
编译器不是简单的为每一个引用都创建默认对象。
初始化引用:
1. 在定义对象的地方,这意味着他们总是能够在构造器被调用之前被初始化。
2. 在类的构造器中。
3. 就在正要使用这些对象之前,这种方式称为惰性初始化。在生成对象不值得及不必每次都生成对象的情况下,这种方式可以减少额外的负担。
4. 使用实例初始化。
7.2 继承语法
继承是所有OOP语言和java语言不可缺少的组成部分。创建一个类时,总是在继承,除非已明确指出要从其他类中继承,否则就是在隐式地从java的标准根类Object进行继承。
组合的语法比较平实,但是继承使用的是一种特殊的语法。继承过程中,需要先声明“新类与旧类相似”。这种声明是通过在类主体的左边花括号之前,书写后面紧随基类名称的关键字extends而实现的。这么做时,自动得到基类中所有的域和方法。
可以为每个类都创建一个main()方法,使每个类的单元测试都变得简便易行。完成单元测试之后,无需删除,可以留待下次测试。即使一个程序含有多个类,只有命令行所调用的那个类的main()方法会被调用,不管含有main()方法的类是不是public的。一个类只具有包访问权限,其public main()仍然是可访问的。
为了继承,一般的规则是将所有的数据成员都指定为private,将所有的方法指定为public(protected成员也可以借助导出类来访问)。但在特殊情况下,必须做出调整。
可用将继承视作是对类的复用。
Java用super关键字表示超类的意思,当前类就是从超类继承来的。
在继承的过程中,并不一定非得使用基类的方法,也可以在导出类中添加新方法,其添加方式与在类中添加任意方法一样,即对其加以定义即可。
7.2.1 初始化基类
当创建了一个导出类的对象时,该对象包含了一个基类的子对象。这个子对象与用基类直接创建的对象是一样的。二者区别在于,后者来自于外部,而基类的子对象被包装在导出类对象内部。
对基类子对象的正确初始化是至关重要的,仅有一种方法来保证这一点:在构造器中调用基类构造器来执行初始化,而基类构造器具有执行基类初始化所需要的所有知识和能力。Java会自动在导出类的构造器中插入对基类构造器的调用。
构建过程是从基类“向外”扩散的,所以基类在导出类构造器可以访问它之前,就已经完成了初始化。即使不创建构造器,编译器也会合成一个默认的构造器,该构造器将调用基类的构造器。
带参数的构造器:
如果没有默认的基类构造器,或者想调用一个带参数的基类构造器,就必须用关键字super显式地编写调用基类构造器的语句,并且配以适当的参数列表。调用基类构造器必须是在导出类构造器中药做的第一件事(如果错了,编译器会提醒)。
158-163/913
Java编程思想第四版——第二十天
第7章 复用类
复用代码是java众多引人注目的功能之一。
Java中所有事物,问题解决都是围绕着类展开的。可以通过创建新类来服用代码,而不必再重头开始编写,可以使用别人业已开发并调试好的类。此方法的窍门在于使用类而不破坏现有程序代码。两种达到此目的的方法:第一种:只需在新的类中产生现有类的对象,称为组合。复用了现有程序代码的功能,而非它的形式。第二种:按照现有类的类型来创建新类,无需改变现有类的形式,采用现有类的形式并在其中添加新代码,称为继承。编译器可以完成其中大部分工作。继承是面向对象程序设计的基石之一。
组合和继承,语法和行为大多是相似的。
7.1 组合语法
组合技术,只需将对象引用置于新类中即可。
每一个非基本类型的对象都有一个toString()方法
编译器不是简单的为每一个引用都创建默认对象。
初始化引用:
1. 在定义对象的地方,这意味着他们总是能够在构造器被调用之前被初始化。
2. 在类的构造器中。
3. 就在正要使用这些对象之前,这种方式称为惰性初始化。在生成对象不值得及不必每次都生成对象的情况下,这种方式可以减少额外的负担。
4. 使用实例初始化。
7.2 继承语法
继承是所有OOP语言和java语言不可缺少的组成部分。创建一个类时,总是在继承,除非已明确指出要从其他类中继承,否则就是在隐式地从java的标准根类Object进行继承。
组合的语法比较平实,但是继承使用的是一种特殊的语法。继承过程中,需要先声明“新类与旧类相似”。这种声明是通过在类主体的左边花括号之前,书写后面紧随基类名称的关键字extends而实现的。这么做时,自动得到基类中所有的域和方法。
可以为每个类都创建一个main()方法,使每个类的单元测试都变得简便易行。完成单元测试之后,无需删除,可以留待下次测试。即使一个程序含有多个类,只有命令行所调用的那个类的main()方法会被调用,不管含有main()方法的类是不是public的。一个类只具有包访问权限,其public main()仍然是可访问的。
为了继承,一般的规则是将所有的数据成员都指定为private,将所有的方法指定为public(protected成员也可以借助导出类来访问)。但在特殊情况下,必须做出调整。
可用将继承视作是对类的复用。
Java用super关键字表示超类的意思,当前类就是从超类继承来的。
在继承的过程中,并不一定非得使用基类的方法,也可以在导出类中添加新方法,其添加方式与在类中添加任意方法一样,即对其加以定义即可。
7.2.1 初始化基类
当创建了一个导出类的对象时,该对象包含了一个基类的子对象。这个子对象与用基类直接创建的对象是一样的。二者区别在于,后者来自于外部,而基类的子对象被包装在导出类对象内部。
对基类子对象的正确初始化是至关重要的,仅有一种方法来保证这一点:在构造器中调用基类构造器来执行初始化,而基类构造器具有执行基类初始化所需要的所有知识和能力。Java会自动在导出类的构造器中插入对基类构造器的调用。
构建过程是从基类“向外”扩散的,所以基类在导出类构造器可以访问它之前,就已经完成了初始化。即使不创建构造器,编译器也会合成一个默认的构造器,该构造器将调用基类的构造器。
带参数的构造器:
如果没有默认的基类构造器,或者想调用一个带参数的基类构造器,就必须用关键字super显式地编写调用基类构造器的语句,并且配以适当的参数列表。调用基类构造器必须是在导出类构造器中药做的第一件事(如果错了,编译器会提醒)。
发表评论
-
Java编程思想第四版——第二十一天
2012-05-04 12:56 5892012-05-04 163-170/913 Java编 ... -
Java编程思想第四版——第十九天
2012-05-02 11:08 8262012-05-02 149-158/913 Java编程思 ... -
Java编程思想第四版——第十八天
2012-04-27 13:12 10152012-04-27 142-149/913 Java编 ... -
Java编程思想第四版——第十七天
2012-04-25 11:18 7512012-04-25 138-142/913 Java编程思 ... -
Java编程思想第四版——第十六天
2012-04-24 13:50 7552012-04-24 131-138/913 Java编 ... -
Java编程思想第四版——第十五天
2012-04-23 17:14 7662012-04-23 121-131/913 Java编程思 ... -
Java编程思想第四版——第十四天
2012-04-19 11:28 6332012-04-19 118-121/913 Java编程思 ... -
Java编程思想第四版——第十三天
2012-04-18 12:08 6732012-04-18 108-118/913 Java编 ... -
Java编程思想第四版——第十二天
2012-04-09 10:58 7462012-04-09 102-108/913 Java编 ... -
Java编程思想第四版——第十一天
2012-04-05 12:21 8272012-04-05 Java编程思想第四版——第十一天 ... -
Java编程思想第四版——第十天
2012-03-31 12:03 5702012-03-31 97-102/913 Java编程思想 ... -
Java编程思想第四版——第九天
2012-03-30 14:59 6922012-03-30 80-97/913 Java编程思想第 ... -
Java编程思想第四版——第八天
2012-03-29 12:09 4942012-03-29 76-80/913 3.6 自动递增和 ... -
Java编程思想第四版——第七天
2012-03-28 12:24 6672012-03-28 70-76/913 昨天找 ... -
Java编程思想第四版——第六天
2012-03-27 13:02 5392012-03-27 66-70/913 最近两 ... -
Java编程思想第四版——第五天
2012-03-23 15:09 9512012-03-23 60-66/913 2.5 方法、参数 ... -
Java编程思想第四版——第四天
2012-03-22 12:41 5982012-03-22 54-60/913 第二章 ... -
Java编程思想第四版——第三天
2012-03-21 12:40 5802012-03-21 47-54/913 1.12 并 ... -
Java编程思想第四版——第二天
2012-03-20 13:54 739今天本来以为进度可以 ... -
Java编程思想第四版——第一天
2012-03-19 15:57 796Java已经丢手一年了 ...
相关推荐
1.程序功能说明: MATLAB实现多种群遗传算法(完整代码) 逼近C=[9,8,7,6,5,4,3,2,1]的9维向量. 2.代码说明:注释清晰,参数和变量说明清晰,方便更改、方便初学者使用,模块化编程,方便替换目标函数。运行环境Windows7及以上操作系统,MATLAB2014a及以上版本。 3.适用专业:计算机、电子信息工程、数学、物理、机械工程、土木工程等专业的大学生、研究生毕业设计,各类专业的课程设计、海外留学生作业等。 4作者介绍:资深算法工程师, 从事Matlab、Python算法仿真工作15年,专业研究遗传算法、粒子群算法、蚁群算法、鲸鱼算法、狼群算法等. 有问题联系QQ: 1579325979
免费JAVA毕业设计 2024成品源码+论文+数据库+启动教程 启动教程:https://www.bilibili.com/video/BV1SzbFe7EGZ 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
免费JAVA毕业设计 2024成品源码+论文+录屏+启动教程 启动教程:https://www.bilibili.com/video/BV1SzbFe7EGZ 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
小学元旦晚会PPT 模版
免费JAVA毕业设计 2024成品源码+论文+数据库+启动教程 启动教程:https://www.bilibili.com/video/BV1SzbFe7EGZ 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
MATLAB中的语义分割技术探究与应用实践,matlab,语义分割 ,matlab; 语义分割,Matlab语义分割技术解析
免费JAVA毕业设计 2024成品源码+论文+数据库+启动教程 启动教程:https://www.bilibili.com/video/BV1SzbFe7EGZ 项目讲解视频:https://www.bilibili.com/video/BV1Tb421n72S 二次开发教程:https://www.bilibili.com/video/BV18i421i7Dx
1、文件内容:pulseaudio-10.0-6.el7_9.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/pulseaudio-10.0-6.el7_9.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、安装指导:私信博主,全程指导安装
"基于OpenCV与深度学习的人脸表情识别系统:利用Python与PyQt构建的可视化实时检测工具",基于OpenCV的人脸表情识别系统 相关技术:python,opencv,pyqt,深度学习 (请自行安装向日葵远程软件,以便提供远程帮助) 可编译为.exe文件。 软件说明:摄像头实时检测,加载照片,视频均可。 有基础的同学,可自行修改完善。 第一张和第二张为运行截图。 ,基于OpenCV的人脸表情识别系统; Python; OpenCV; PyQt; 深度学习; 实时检测; 照片和视频支持; 可编译为.exe文件; 运行截图。,"基于OpenCV与深度学习的人脸表情识别系统"
,步进方案,步进源码,两相步进矢量控制,超前角控制两种模式,成熟产品方案 支持特殊功能定制
三相储能PCS双向能量流动与Matlab仿真控制研究——基于SVPWM调制技术的建模与应用,三相储能PCS(Matlab仿真) 1.可实现Grid to Battery,Battery to Grid的能量双向流动。 2.本仿真基于Matlab仿真建立的模型, 3.采用SVPWM进行控制 ,三相储能PCS; 双向能量流动; Matlab仿真; SVPWM控制,三相储能PCS:能量双向流Matlab仿真模型(SVPWM控制)
deepseek部署教程.md
nodejs010-nodejs-ansicolors-0.3.2-1.el6.centos.alt.noarch.rpm
基于三菱PLC的四路抢答器控制系统原理及实践:含带解释的梯形图与IO分配图解,三菱 MCGS 基于PLC的四路抢答器控制系统 带解释的梯形图接线图原理图图纸,io分配,组态画面 ,三菱MCGS; PLC四路抢答器; 控制系统; 梯形图接线图; 原理图图纸; IO分配; 组态画面。,三菱PLC四路抢答器控制系统原理图及组态画面解析
基于运动数据时空特征提取的人类运动片段.pdf
基于机器学习的选股模型及投资组合研究.pdf
ollama安装包。。。。。。。。。。。。。。。。。
nodejs010-nodejs-ansistyles-0.1.3-1.el6.centos.alt.x86_64.rpm
Screenshot_20250201_111207_com_tencent_mm_LauncherUI.jpg
基于时空Transformer的端到端的视频注视目标检测.pdf