第四章 对象的行为

  1、对象有状态和行为两个属性,分别由实例变量和方法表示。

  2、对象可以维持自己的实例变量,对象的方法也可以通过实例变量的值而改变对象的行为。

  3、方法可以有参数和返回值。

    通过实参、形参可以传值给方法,但实参与形参的类型要一致。

    返回值与声明的返回值类型也要一致。方法只有一个返回值,若要返回多个值,同类型的可用array类型的返回值,不同类型的可用arraylist类型的返回值。

  4、值传递即是拷贝传递,不改变原有参数的值。

  5、封装 encapsulation  可以通过public类型的setter和getter控制存取动作,同时private实例变量,实现封装来保护数据。

  6、实例变量有默认值:int 0;float 0.0;booleans false;references null。局部变量没有默认值,使用之前没有初始化则编译器会报错。

  7、可用“==“比较两个primitive主数据类型,或判断两个引用是否引用的同一变量。 可用equal()来判断两个变量在意义上是否相等。

  

时间: 2024-09-30 20:23:17

第四章 对象的行为的相关文章

Java核心技术第四章----对象与类重难点总结

一.类之间的关系 类和类之间的关系,耦合度从高到低: is -a.继承.实现 has-a.组合.聚合.关联 user-a.依赖. 要求是:高内聚.低耦合. 继承("is-a") 继承(Inheritance),即"is-a"关系,是一种用于表示特殊与一般关系的.表示类与类(或者接口与接口)之间的父子关系.一般而言,如果类A扩展类B,类A不但包含从类B继承的方法,还会拥有一些额外的功能.在JAVA中,用关键字extends表示继承关系 实现(Implementatio

《Java并发编程实战》第四章 对象的组合 读书笔记

一.设计线程安全的类 在设计线程安全类的过程中,须要包括下面三个基本要素: . 找出构成对象状态的全部变量. . 找出约束状态变量的不变性条件. . 建立对象状态的并发訪问管理策略. 分析对象的状态,首先从对象的域開始. 变量按作用域划分: . 全局变量 . 局部变量 . 方法行參 . 异常处理參数 1. 收集同步需求 假设不了解对象的不变性条件与后验条件,那么就不能确保线程安全性.要满足在状态变量的有效值或状态转换上的各种约束条件.就须要借助原子性和封装性. 说的更简略些是Java线程安全都是

JAVA并发实战 第四章 对象的组合

4.1 设计线程安全的类 通过使用封装技术,可以使得在不对整个程序进行分析的情况下就可以判断一个类是否是线程安全的. 在设计线程安全类的过程中,需要包含以下三个基本要素:找出构成对象状态的所有变量:找出约束状态变量的不变性条件:建立对象状态的并发访问管理策略. 要分析对象的状态,首先从对象的域开始. 同步策略(Synchronization Policy)定义了如何在不违背对象不变条件或后验条件的情况下对其状态的访问操作进行协同.同步策略规定了如何将不可变性.线程封闭与加锁机制结合起来以维护线程

第四章 对象的组合

4.1 设计线程安全的类 三个基本要素 : 找出构成对象状态的所有变量 找出约束状态变量的不变性条件 建立对象状态的并发访问管理策略 4.1.1 同步需求 如果不了解对象的不变性条件与后验条件,那么就不能确保线程安全性. 要满足在状态变量的有效值或状态转换上的各种约束条件, 则需要借助于原子性和封装性. 4.1.2 依赖状态的操作 如果某个操作有基于状态的先验条件, 则该操作称为依赖状态的操作. 等待某个条件为真的各种内置机制都与内置加锁紧密关联. 一种更简单的方法是通过现有库中的类(阻塞队列[

第四章 对象、变量和常量

变量的命名方式决定了变量的种类 局部变量:英文字母或_开头 全局变量:$开头(Ruby中不推荐使用全局变量,要避免使用) 实例变量:@开头 类变量 :@@开头 (2) (3) (4) (5)系统关键字又称为保留字 (6)多重赋值(就是只用一个表达式就给多个变量赋值) (7) (8)传统的笨方法置换变量的值 (9)多重赋值的方法置换变量的值 (10) (11) (12)获取嵌套数组的元素

[Java 并发] Java并发编程实践 思维导图 - 第四章 对象的组合

根据<Java并发编程实践>一书整理的思维导图. 第一部分: 第二部分:

Java-第十四章-代参的方法(二)-编程实现,输入班里10名学生的身高,获得身高最高的学生要求对象数组类型方法

package com.ww.yzpA; public class Students { int No; int Height; } package com.ww.yzpA; public class Height { public Students getMaxHeigth(Students[] str) { Students A = new Students(); for (int i = 0; i < str.length; i++) { if (str[i].Height > A.He

《UML精粹》 第四章 时序图

第四章 时序图 一般来说,我们会在一张时序图中画出某个情节的相关行为,图种会秀出这个使用案例(use case)里面可能出现的一些对象,以及在对象间传送的信息. 本章将通过一个简单情节,做时序图各方面的相关讨论.假设我们现在有一份订单,并且准备调用它的一个命令,算出这份订单的价格.为了达到这个目的,订单需要产看它里面所拥有的一些订单明细.决定它们的价格,价格决定方式是以订单明细中所包含产品之定价规则为基础决定的.对所有订单明细做完上述动作之后,接下来订单要算出整个折扣,这时候它是以跟客户绑在一起

Java 线程第三版 第四章 Thread Notification 读书笔记

一.等待与通知 public final void wait() throws InterruptedException 等待条件的发生. public final void wait(long timeout) throws InterruptedException 等待条件的发生.如果通知没有在timeout指定的时间内发生,它还是会返回. public final void wait(long timeout, int nanos) throws InterruptedException