[core java]C4 Objects and Classes

final &static关键字

private final String name; 当constuctor调用时一定要被初始化

public static final double PI = 3.14..... // final type in class field 

final对象和final引用

public class System{

public static final PrintStream out = ...

}

final类型的引用一旦初始化,不可以指向其他对象

ep:

out = new PrintStream(); // compile-time error

final类型的对象,不允许使用应用对对象进行修改,所以对final class String 的修改都在new 一个新对象的基础上进行

Factory method

工厂方法这里没太看懂,应该也是私有化了constuctor,这里和单例模式相同

单例模式通过static方法,返回同一个私有化对象

而工厂模式通过几个不同类型的static方法,返回任意数量的,不同Style的对象?

还可以返回子类对象?这里先记录

函数参数

与C++的 pbv/pbr不同

java中只有pass by value 的形式

int doSum(vector& v)这种是典型的C++的pbr模式,对参数的修改在函数返回后仍然有效。

java中 int doSum(vector v)传入的v的引用,在函数调用的过程中会复制v,类似于*v的方式,对variable v的修改函数返回后无效,但修改v指向的对象当然是有效的

field和local variable初始化区别

这一章后面就介绍了package、class path等内容

package类的作用域在protected和private之间

猜你喜欢

转载自blog.csdn.net/weixin_41985660/article/details/82625998