01-OOP面向对象基础面试题

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

1.equals与==的区别

==

  • 如果是基本类型,==表示判断它们值是否相等;
  • 如果是引用对象,==表示判断两个对象指向的内存地址是否相同。

equals

  • 如果是字符串,表示判断字符串内容是否相同;
  • 如果是object对象的方法,比较的也是引用的内存地址值;
  • 如果自己的类重写equals方法,可以自定义两个对象是否相等。

2. final, finally, finalize 的区别

  • final 用于修饰属性,方法和类, 分别表示属性不能被重新赋值, 方法不可被覆盖, 类不可被继承.
  • finally 是异常处理语句结构的一部分,一般以ty-catch-finally出现,finally代码块表示总是被执行.
  • finalize 是Object类的一个方法,该方法一般由垃圾回收器来调用,当我们调用System.gc() 方法的时候,由垃圾回收器调用finalize()方法,回收垃圾,JVM并不保证此方法总被调用.

3. 重载和重写的区别

  • 重写必须继承,重载不用。
  • 重载表示同一个类中可以有多个名称相同的方法,但这些方法的参数列表各不相同(即参数个数或类型不同)
  • 重写表示子类中的方法与父类中的某个方法的名称和参数完全相同啦,通过子类实例对象调用这个方法时,将调用子类中
阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6