《Java从入门到精通》学习总结2

1.

在JAVA语言中对静态方法有两点规定:

  在静态方法中不可以使用this关键字

  在静态方法中不可以直接调用非静态方法

2.

不能将方法体内的局部变量声明为static的

3.

引用只是存放一个对象的内存地址,并非存放一个对象

4.

虽然垃圾回收器已经很完善,但垃圾回收器只能回收那些由new操作符创建的对象。如果某些对象不是通过new操作符在内存中获取一块内存区域,这种对象不能被垃圾回收机制所识别,所以在Java中提供了一个finalize()方法。

5.

由于垃圾回收不受人为控制,不保证一定会发生,具体执行时间也不确定,所以finalize()方法也就无法执行,为此,Java提供了System.gc()方法强制启动垃圾回收器。 

6.

在实际开发中产生随机数的使用是很普遍的。在Java中提供了2中方法产生随机数,分别为调用Math类的random()方法,和Random类提供的产生各种随机数的方法

7.

Math.random()方法返回的值实际上是伪随机数:它通过复杂的运算而得到一系列的数。该方法是通过当前时间作为随机数生成器的参数,所以每次执行程序都会产生不同的随机数。

8.

当重写父类方法时,修改方法的修饰权限只能从小的范围到大的范围改变。

子类重写父类的方法还可以修改方法中的返回值类型,但这是Java 5以上的版本中支持的新功能。这种重写方式需要遵循一个原则:即重写的返回值类型必须是父类中同一方法返回值类型的子类。

9.

在实例化子类对象时,父类无参构造方法将自动被调用,但有参构造方法并不能被自动调用,只能依赖于super关键字显示地调用父类的构造方法

10.

Object类时所有类的父类,主要包括clone()、finalize()、equals()、toString()等方法,其中常用的两个方法位equals()和toString()方法。

在自定义的类中使用equals()方法,默认实现是"=="运算符比较两个对象的引用地址,而不是比较对象的内容,所以要想真正做到比较两个对象的内容,需要在自定义类中重写equals()方法

猜你喜欢

转载自www.cnblogs.com/czp2bconfident/p/10386336.html