Java 学习笔记(OO 部分)
1. 类仅仅创建了一种新的数据类型,类就是对象的模板,对象就是类的一个实例,对象
和实例可以相互使用。
2. 在类中,没有用 Private 标明的变量成为实例变量,每一个对象都具有自己独立的实例
变量,即任何一个对象将本身的实例变量值改变之后,并不影响其他对象的实例变量
值。
3. 在声明一个对象时,一般分为两步:首先声明某类类型的变量,改变量仅仅可以用来
引用该类的一个实例;接着用 new 运算符创建一个对象的实际物理拷贝,并且把对于
该对象的引用赋给改变量,注意这里赋给改变量的是该对象的内存地址。
4. 类和对象的区别:类是一种数据类型,用于创建新的对象,是一个逻辑框架,并不占
有内存空间;而对象是类的实例,占有物理内存。
5. 给对象的引用变量赋值:例如,B1 为类 Box 的对象,而 B2 为类 Box 的引用变量,如
果将 B1 赋给 B2,那么最后的结果是它们共同指向同一个对象实体,这时,对 B1 或者
B2 所应用对象的改变都会引起另一方所引用对象的变化。
6. 类的构造函数的作用是对对象的变量进行初始化,它在对象建立之后, new 运算完成
之前被调用。另外,构造函数可以重载,当建立一个对象时,可以根据参数的顺序、
类型、以及有无参数来调用相应的构造函数。
7. 关键字 this 的作用是可以在一个类方法中调用正在使用该方法的对象的引用,最常见
的用法是可以使方法的自变量名和类的实例变量名相同,进而解决在方法体内后者被
前者覆盖的问题。
8. Java 里面的垃圾回收机制:当一个对象没有被任何变量引用的时候,该对象所占的内
存将会被自动回收。如果在对象被回收之前要进行一些特殊的操作,比如释放该对象
占用的特殊资源的时候,就要使用 finalize()方法。在该方法中要指定该对象被销毁前
要执行的操作。
9. 方法的重载:这是 java 实现多态性的一种机制。在类中,若干个方法可以有相同的名
字,但是它们的参数有所不同,主要表现在:参数个数、类型上。当要调用某方法时 ,
系统会根据调用时参数的类型、个数等信息调用相应的方法。注意,方法的重载和它
们的返回类型无关。在方法的重载中,有时会发生隐含的数据类型转换。例如,当参
数类型为 int 型,而又没有自变量为该类型的方法,却有 double 类型自变量方法,这时
该参数就会自动被转换为 double 型。
10. 对象可以作为一个参数在方法中加以传递,这种情况一般应用在构造函数中,可以利
用一个已经存在的对象创建一个新的对象。
11. java 中的参数传递:当传递一个简单类型的参数时,采用的是按值传递方式,即方法
体内对自变量的操作并不能改变方法外该参数的值;但是当传递是一个对象的时候,
方法的自变量就会接受一个该对象的一个引用,它们共同指向同一个对象,这时,方
法体内对自变量的任何操作都会引起该对象的变化。
12. 类成员的访问控制:public 类型的成员在任何地方均可以使用;private 类型的成员只能
够在类的内部使用;protected 类型的成员可以在包内以及该类所有的子类中使用;无
修饰符的成员可以在本类所在的包内使用。
13. 类的静态成员的使用:static 关键字可以用来声明类的静态成员,这时这些成员可以为
所有的类实例所共享。这些成员的使用可以不依赖于该类的实例。类中一般要有一个