学习笔记D1

来源:互联网 发布:蓝可儿事件真相 知乎 编辑:程序博客网 时间:2024/06/05 20:44
  1. final、finally、finalize的区别


final用来声明类的时候不能派生子类,不能被继承。所以abstract不能和final一起声明一个类。final用来声明变量的时候需要给定初始值,这个变量只能读取,不能被修改。final声明的方法只能使用,不能重载。


finally的作用是在抛出异常catch后执行finally的代码,用来执行catch后的清除操作。


finalize是Object定义的一个方法,所有的类都会继承这个方法,需要使用finalize的时候只要覆盖finalize方法就行了。finalize()方法会在垃圾回收器删除对象之前对这个对象调用。



2.关于匿名内部类


匿名内部类是定义在一个类中的匿名类,所以不能继承其他类。但是匿名内部类可以实现同一个类下面其他匿名内部类接口。


3.HashMap和HashTable的区别


HashMap基本和HashTable相等,但是HashMap允许一个null键和多个null键值。HashTable是带锁的(synchronize),所以HashTable是线程安全的,但在单线程的情况下比HashMap要慢。


4.数组没有length()这个方法,有length的属性。 String有有length()这个方法。 


   

  5.overload和overwrite


方法重写是overwrite,方法的重载是overload。如果子类中有和父类相同的方法,返回类型,参数相同,视为方法的重写。方法的重载只要方法名相同,参数的顺序,数量,类型不同,返回类型不一定要相同。


  6.run()和start()


启动一个线程是调用start方法,这个线程不会立即执行。当系统开始调用这个线程时,再去调用run()方法来执行。



  7.构造器不能被继承,所以构造器不能被重写,但构造器可以被重载。



  



原创粉丝点击