1、java的成员变量不需要赋初值(最好自己赋初值),系统会自动赋初值,但是局部变量必须赋初值,否则不能编译通过
A、引用类型
2、在java中,对象任何非基本类型的实例
3、当声明引用类型时,没有分配任何对象。至此,引用为null。为可创建对象,使用new。
new关键字用于创建对象
当使用new时需要括号,创建能指定对象的初始状态。
4、java使用垃圾回收。使用垃圾回收,会自动回收未引用对象所占有的内存
5、对于对象,=是引用赋值,而不是对象复制
6、对引用类型而言,按值传递意味着形式参数引用的对象与实际参数引用的对象相同
7、对于引用类型,只有当两个引用引用了相同对象时,==为true。equals方法可以用来测试两个引用引用的对象是否具有相同的状态
8、String对象有两项基本规则:第一项:除了连接运算符之外,String的行为像对象。第二项规则:String是不可改变的,这意味着一旦创建String对象,它的内容将不变。
9、使用equals和compareTo来执行字符串比较
10、数组是存储相同类型实体的集合
通过数组索引运算符[ ]来提供对数组任何对象的访问。数组的索引从零开始。通过length字段来得到存储在数组中的项数,不适用括号
11 数组的声明int[ ] array1; 此时还没有分配内存来存储数组。array1只是一个数组名(引用),此时,array1为null。假设为存储100个int,需要使用new
array1 = new int[ 100 ];现在array1引用了具有100个int的数组。
还有其他方法来声明数组:int [ ] array2 = new int[ 100 ];
还可以像C和C++一样,可以使用初始化列表来指定初值:int [ ] array3 = {3, 4, 10, 6};
12、ArrayList用于扩展数组。add方法使大小加1,将新数据项添加到数组的适当位置,根据需要,扩大容量。
13、二维数组:通过一对括号内的每个索引来访问数组中的每个元素。int[ ][ ] x = new int [ 2 ][ 3 ];定义了二维数组x,第一个索引(代表行数)的范围从0到1,第二个索引(列数)的范围是从0到2(总共是6个int)。
在上面例子中,二维数组实际上是数组的数组。因此,行数是x.length, 列数为x[0].length或x[1].length。
B、异常处理
14、try块内是可能产生异常的代码。catch块处理异常
15、throw字句用于抛出异常,
C、继承
16、继承是IS-A关系:在IS-A关系中,我们说派生类是基类的变种
在HAS-A关系中,我们说派生类是基类的实例,使用组合技术对HAS-A关系建模
17、继承允许我们从基类中派生类,而不影响基类的实现
extends字句用于声明这个类是从另一个类派生而来
派生类从基类中继承所有的数据成员,并可以添加更多的数据成员
派生类从基类中继承所有的方法,派生类可以接受这些,也可以重新定义这些方法,派生类也可以定义新方法
18、在Java中,所有的引用类型都是多态的。所以也将多态性称为动态分配,后期绑定或者动态绑定。派生类与它的基类是类型兼容的,这 意味着基类类型的引用变量可以引用派生类的对象,但反之并不成立。兄弟类(即派生于相同类的类)类型不兼容。
多态变量能引用几种不同类型的变量,当对多态变量进行操作时,自动选择合适用于引用对象的操作。
D、接口
19、implements字句用于声明类实现了接口。这个类必须实现所有接口的方法或保留方法的抽象
20、因为接口是一个抽象类,所以可以应用所有的继承规则,具体来说:
- IS-A关系成立。如果类C实现了接口I, 那么C IS-A, 并且与I类型兼容。如果类C实现了接口I1,I2,I3,那么C IS-A I1,I2,I3,并且与I1,I2,I3类型兼容
- instanceof运算符可以用来确定引用是否与接口类型兼容
- 当类实现接口的方法时,它可能无法降低可见性。由于所有的接口方法都是公有的,所以所有的实现也必须是公有的。
- 当类实现接口的方法时它可能无法向throws列表添加检查异常。如果一个类实现了多个接口,这些接口都有相同的方法,这些相同的方法出现在不同的throws列表中,实现的throws列表可以只列出这些接口方法的throws列表交集中的检查异常。
- 当类实现接口的方法时,它必须实现精确的签名(不包括throws列表);否则,它继承接口方法的抽象版本,并且提供了一个非抽象的重载,但是方法不同。
- 类不能实现这样的两个接口,这两个接口包含的方法具有相同签名和不兼容的返回类型,因为在一个类中提供这样的两种方法是不可能的。
- 如果一个类没有实现接口中的任何方法,必须将其声明为抽象
- 接口可以扩展为其他接口(包含多个接口)
E、静态查找
21、