对象的行为(behavior)—— 方法
对象的状态(state)—— 域
对象标识(identity)—— 实例
依赖(“uses-a”)
组合(“has-a”)
继承(“is-a”)
日历表示法
不可变的类
实例域
构造器
实例方法
两种编译源程序的方法。
使用通配符调用 Java 编译器:
Java Employee*.java
键入以下命令:
javac EmployeeTest.java
Java 编译器内置了 make
功能。
初始化实例域
this
)关键字 this
表示隐式参数,一个对象的引用。
4.3.9 final 实例域,112
构建对象时必须初始化 final
实例域。final
实例域的值设置之后,不能够再对它进行修改。
final
修饰符大都应用于基本(primitive)类型域,或不可变(immutable)类的的域(如果类中的每个方法都不会改变其对象,这种类就是不可变的类。)
对于可变的类,使用 final
修饰符可能会对读者造成混乱。
属于类,而不属于独立的对象。
Math.PI
System.out
静态方法是一种不能向对象实施操作的方法。
可以认为静态方法是没有 this
参数的方法,没有隐式参数。
在下面两种情况下使用静态方法:
Java static
关键字的含义:属于类且不属于类对象的变量和函数。
每一个类可以有一个 main
方法。这是一个常用于对类进行单元测试的技巧。
按值调用(call by value)
按引用调用(call by reference)
Java 语言采用按值调用。方法得到的是所有参数值的一个拷贝,方法不能修改传递给它的任何参数变量的内容。
隐式域初始化:0、false、null
在声明中赋值
一种常用的技巧: 参数使用同名屏蔽实例域,实例域采用 this
形式访问。
this
指示隐式参数,也就是所构造的对象。
this(...)
三种初始化数据域的方法:
为了避免循环定义,不要读取在后面初始化的域。 参考 Java 语言规范 8.3.2.3 节。
建议将初始化块放在域定义之后。
调用构造器的具体处理步骤:
两种初始化静态域的方法:
在类第一次加载的时候,将会进行静态域的初始化。
调用构造器的具体处理步骤(静态域、静态初始化块):
从编译器的角度来看,嵌套的包之间没有任何关系。
例如,java.util
包 与 java.util.jar
包 毫无关系。
每一个都拥有一个独立的类集合。
原文:https://www.cnblogs.com/clipboard/p/12380469.html