JavaSE(二) 对象和类

类之间的关系

  1. 依赖(“uses–a”):一个类的方法操纵另一个类的对象,我们就说一个类依赖于另一个类。
  2. 聚合 (“has-a”):类 A 的对象包含类 B 的对象,例如 Order 对象包含 Item 对象。
  3. 继承 (“is-a”):类 A 拓展 类 B,类 A 不但包含从类 B 继承的方法,还有拥有一些额外的功能。

对象和对象变量

在 Java 中,任何对象变量的值都是对存储在另一个地方的对象的引用。new 操作符的返回值也是一个引用,对象变量在未初始化前都不是对象。如果将一个方法应用于一个值为 null 的对象上,就会产生 runtime error。

a = null;
String s = a.toString();// runtime error

final 实例域

构造对象必须初始化这样的域,构造对象后这个值不会再被修改。

Static 静态域

如果将域定义为 static,每个类只有一个这样的域。而每个对象对于实例域都有自己的一份拷贝。静态域属于类,而不属于任何对象。

静态方法

静态方法市一种不能向对象实施操作的方法。例如:Math.pow()。静态方法可以访问自身类中的静态域。

方法参数

Java 总是采用按值调用,也就是说方法得到的是所有参数值的一个拷贝。

public static void tripleValue(double x){
	x = 3 * x;
}
double a = 10;
tripleValue(a);// a 的值还是 10 

然后对象引用作为方法参数就不同了:

public static void tripleSalary(Emloyee x){
	x.raiseSalary(200);
} // x 为 Emloyee 类对象引用
当调用:
harry = new Employee(...);
tripleSalary(harry);// 实现harry 的薪金提高

无参数构造器

当类没有提供任何构造器的时候,系统才会提供一个默认的无参构造器,这个构造器会将所有实例域设置成默认值(0,false,null)

finalize 方法

Java 的垃圾回收器会自动对分配给对象的存储空间进行回收,但是,当某些对象使用了内存之外的其他资源时,可以为类添加 finalize 方法,finalize 方法可以在 GC 清除对象之前调用。

包作用域

标记为 public 的部分可以被任意类调用;
标记为 private 的部分只能被定义他们的类使用;
没有指定 public 或 private 的部分只能被同一个包内的所有方法访问;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值