1.方法的签名,包括方法名和签名
2构造方法
很多时候,为了使用的方便,可以对一个类定义多个构造方法,这些构造方法都有相同的名称(类名),只是方法的参数不同,称之为构造方法的重载。
在创建对象时,Java编译器会根据不同的参数调用来不同构造方法。
当类定义了构造方法后,Java编译器将不再添加默认的构造方法
调用构造方法的时候,一定是已经声明了的构造方法
当定义了构造函数的时候,编译器默认不会在提供默认的构造函数
3.数组
int[] arr = new int[3];
int[] arr = new int[]{1,2,3}; //后边的[]中不可以写数字;
int[] arr = {1,2,3};//声明,创建,初始化 在同一个时间
int[][] arr = new int[3][];
创建数组一定要制定长度 ,二维数组高维数组要分配空间
3.垃圾回收机制
垃圾回收器(Garbage Collection,GC)是JVM自带的一个线程(自动运行着的程序),用于回收没有任何引用所指向的对象。
4 Java程序的内存泄露问题
内存泄露是指,不再被使用的内存没有被及时的回收,严重的内存泄露会因过多的内存占用而导致程序的崩溃。在程序中应该尽量避免不必要的内存浪费。
GC线程判断对象是否可以被回收的依据是该对象是否有引用来指向,因此,当确定该对象不再使用时,应该及时的将其引用设置为null,这样,该对象即不再被引用,属于可回收的范围。
5.继承中的构造方法
在子类构造方法中没有写super调用父类构造方法,这时编译器会默认添加super()来调用父类的无参构造方法,但是父类中又没有定义无参的构造方法,因此会发生编译错误。
针对上面的问题,可以有两种解决方案,方案一为在父类中添加无参的构造方法,方案二为在子类构造方法中显示调用父类的有参构造方法(常常使用),这样可以保证父类的成员变量均被初始化
6.父类的引用指向子类的对象
当用父类型引用指向了子类对象后,java编译器会根据引用的类型(父类),而不是对象的类型(子类)来检查调用的方法是否匹配�
所以调用过的方法一定要在父类中定义过,实现的时候实现的是子类重写的方式。子类新增加的方法不能用。
7.重载和重写
重载是一个类里的
重写是子类重写父类的方法
8 包
package
网友评论