《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 类:* ...
随机推荐
- ORACLE 配置连接远程数据库
ORACLE配置tnsnames.ora文件实例 客户机为了和服务器连接,必须先和服务器上的监听进程联络.ORACLE通过tnsnames.ora文件中的连接描述符来说明连接信息.一般tnsnames ...
- python基础学习(十一)公共方法
Python内置函数 Python 包含了以下内置函数: 切片 切片 使用 索引值 来限定范围,从一个大的 字符串 中 切出 小的 字符串 列表 和 元组 都是 有序 的集合,都能够 通过索引值 获取 ...
- How std::cout works [duplicate]
Question: I accidentally found: cout << cout; The output is some address. What does this addre ...
- eclipse安装阿里编码规约插件
点击帮助,Install New Software... 地址为https://p3c.alibaba.com/plugin/eclipse/update 然后选择安装, 一路next即可
- Java中的深克隆和浅克隆
为什么要克隆 首先思考一个问题, 为什么需要克隆对象? 直接new一个对象不行吗? 克隆的对象可能包含一些已经修改过的属性, 而new出来的对象的属性都还是初始化时候的值, 所以当需要一个新的对象来保 ...
- 汇编语言--微机CPU的指令系统(五)(转移指令)
(9)转移指令 转移指令是汇编语言程序员经常使用的一组指令.在高级语言中,时常有“尽量不要使用转移语句”的劝告,但如果在汇编语言的程序中也尽量不用转移语句,那么该程序要么无法编写,要么没有多少功能,所 ...
- 为链表数据结构实现iterator接口
iterator作用 为所有的数据结构提供统一的访问方式. 接口对象 接口对象一共有3个方法,next()方法.return()方法.throw()方法. next() 必填 用于for..of迭代. ...
- 用js实现博客打赏功能
前几天在一个博客中看到有一个打赏功能.其实简单说来就是在页面中加入动态DOM节点,使用的也是简单的HTML.CSS.JS这些前端的一些简单知识.在GitHub上有开源的代码,这里稍加改造就可以用在自己 ...
- 通过css3实现的动画导航菜单代码
用css3样式实现的滑动导航菜单,html代码如下 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" &quo ...
- Vue2+VueRouter2+webpack 构建项目实战(二):目录以及文件结构
通过上一篇博文<Vue2+VueRouter2+webpack 构建项目实战(一):准备工作>,我们已经新建好了一个基于vue+webpack的项目.本篇文章详细介绍下项目的结构. 项目目 ...