《Java大学教程》—第7章 类的实现
统一建模语言(UML)
用方框代表类。方框被分成3部分,第一部分是类名,第二部分是类的属性,第三部分是类的方法。
类的属性(属性名称:属性类型);
类的方法(方法名称(参数类型):返回值类型)。
静态的类的属性和方法名习惯加下划线。
属性的权限:
* public: 属性或方法可以从外部被访问;
* private: 属性或方法不可以被其他类的方法访问,只能在类的内部被访问,从而实现数据封装。
7.3 static关键字
声明为static的属性为类的属性。对该属性的任何改变都是对类的对象的改变。
声明为static的方法为类的方法。可以不将类实例化为对象时就可以访问。
7.6 传递对象参数
对象可以作为参数传递,实际上是把对象的引用传递给方法,从而可以通过引用修改对象的值。
7.7 聚集类
包含许多相同类型的数据项时称为聚集(collection)类。
当一个对象本身又包含其他对象时,称为聚合关系(aggregation)。聚合关系通常指部分与整体之间的关系,在UML中用空心菱形表示。
组成(composition)是一种更强的聚合关系。通常指整体实际上依赖于部分,在UML中用实心菱形表示。
自测题:
1. UML图中,各部分表示的内容?
答:A是类名;B是属性名称和属性类型;C是方法名称、参数类型和返回值类型。
2。解释public和private在访问属性和方法上的区别。
答:public属性和方法可以从类的外部访问;private属性和方法只能在类的内部访问。
3。static的作用是什么?
答:static属性表示为类的属性,可以直接使用类名访问,对所有的对象都是共有的。
static方法表示为类的方法,可以不实例化类为对象时就可以访问。
4。代码输出结果
答:
20
100
编程练习:代码附件
1. Student.java StudentTester.java
2. StockItem.java StockItemTester.java
3. Bank.java BankAccount.java BankProgram.java
4. StudentList.java StudentListTester.java
注:StudentList的UML图中remove(int)和getItem(int)的参数类型不该是int型,搜索的是学生的学号,应该是string。
5. EasyScanner.java
《Java大学教程》—第7章 类的实现的更多相关文章
- 正在学习的Java大学教程
推荐本书<Java大学教程> 看的人比较少,我也是多年不看书了,基于教程一般选国外的方法,从图书馆选了本书. 看了一半,感觉书的内容比较认真,对于基本的Java知识都算介绍全了,而且全书是 ...
- 《Java大学教程》—第8章 通过继承扩展类
8.2 继承(inheritance):继承是指在类之间共享属性和方法.继承关系是一种层次关系.在继承关系中位于顶部的类称为超类(或基类),位于下面的类称为子类(或派生类).类型转换(type ...
- 《Java大学教程》—第13章 程序包
接下来,是第二学期的内容,也是相对深入的Java学习. 自测题:1. 在类的开发过程中,程序包的作用是什么?P321程序包是为了方便定位和部署类,还可以避免将来类之间出现名称冲突. 2. ...
- 《深入理解Java虚拟机》-----第6章 类文件结构——Java高级开发必须懂的
代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步. 6.1 概述 记得在第一节计算机程序课上我的老师就讲过:“计算机只认识0和1,所以我们写的程序需要经编译器翻 ...
- 《深入理解java虚拟机》第六章 类文件结构
第六章 类文件结构 6.2 无关性的基石 各种不同平台的虚拟机与所有的平台都统一使用的程序存储格式--字节码(ByteCode)是构成平台无关性的基石.java虚拟机不和包括java在内的任何语言 ...
- Java基础教程(12)--深入理解类
一.方法的返回值 当我们在程序中调用方法时,虚拟机将会跳转到对应的方法中去执行.当以下几种情况发生时,虚拟机将会回到调用方法的语句并继续向下执行: 执行完方法中所有的语句: 遇到return语句: ...
- 《Effective Java 2nd》第4章 类和接口
目录 第13条: 使类和成员的可访问性最小化 第14条:在公有类中使用访问方法而非公有域 第15条:使可变性最小化 第16条:复合优先于继承 第17条:要么为继承而设计,并提供文档说明,要么就禁止继承 ...
- 《Java大学教程》—第17章 Java聚焦类框架
由所有聚焦类构成,在java.util包中,包含三个重要接口:* List列表:元素为单个对象,元素在列表中是有序.可重复* Set集合:元素为单个对象,元素在集合中无序.不可重复* ...
- 《Java大学教程》—第6章 类和对象
6.2 对象:结构化编程-->数据-->封装(聚合,信息隐藏)-->对象(方法及其操作的数据都聚合在一个单元中,作为更高层的组织单元)-->类(创建对象的模板)6.3 类:* ...
随机推荐
- RNN入门(三)利用LSTM生成旅游点评
介绍 前几天,某个公众号发文质疑马蜂窝网站,认为它搬运其它网站的旅游点评,对此,马蜂窝网站迅速地做出了回应.相信大多数关注时事的群众已经了解了整个事情的经过,在这里,我们且不论这件事的是是非非,也 ...
- Linux--Introduction and Basic commands(Part one)
Welcome to Linux world! Introduction and Basic commands--Part one J.C 2018.3.11 Chapter 1 What Is Li ...
- vb.net 使用ip查詢(Host Name)(WorkGroup Name)(MAC Address)-運用cmd及nbtstat命令
Sub nbtstat(ByVal ip As String) Dim strRst, strRst1, strRst2, strRst3 As String Dim n1, n2, n3 As In ...
- Android开发过程中的坑及解决方法收录(五)
1. 导入依赖库出现错误 因为使用的sdk版本不同,使用下列代码强制使用最低版本,25.3.1就是我当前使用的版本号,根据自己的情况修改 configurations.all { resolution ...
- js对HTML字符转义与反转义
注意: 在编写html时,经常需要转义,才能正常显示在页面上. 并且,还可以防止xss. 解决方案: 一, 使用正则: 使用正则转码: var value = document.getElementB ...
- Could not open input file: artisan 【Laravel初体验】
1,情景描述:在命令行窗口写入php artisan make:model Models\MenuModel用于创建模型时,出现此错误(Could not open input file: artis ...
- 前端入门4-CSS属性样式表
本篇文章已授权微信公众号 dasu_Android(大苏)独家发布 声明 本系列文章内容全部梳理自以下四个来源: <HTML5权威指南> <JavaScript权威指南> MD ...
- css 两段对齐和超出部分...
.cont-detail ul li { display: -webkit-flex; display: -ms-flexbox; display: flex; -webkit-box-pack: j ...
- android笔试题二
1.android系统架构: Linux内核——标准库——Framework层——应用层 Linux层包括:Android系统的核心服务,硬件驱动,进程管理,系统安全等等 (现在又加了一层变成了:Li ...
- Tsung MQTT协议简介及MQTT xml文档配置介绍
MQTT协议简介及MQTT xml文档配置介绍 by:授客 QQ:1033553122 1. MQTT协议介绍 MQTT(Message Queuing Telemetry Transport,消息队 ...