==和equals的区别?简述final的作用?重载和重写的方法?_fover_night的博客-爱代码爱编程
==和equals的区别?
== 比的是栈中的值,基本数据类型是变量值,引用类型是堆中内存对象的地址。
equals是object默认的也是采用==进行比较,但通常会重写,并且equals是一个方法,是方法就可以被重写,比如说String这个类在重写equals的时候,他就是比较字符串的内容是否相同。
final的作用
- 修饰类:表示该类不能被继承
- 修饰方法:表示该类不可被子类覆盖,但是可以重载
- 修饰变量:表示变量一旦被赋值就不可以更改它的值
重载和重写的方法?
重载
重载发生于同一个类中,方法名必须相同,参数类型不同、个数不同、顺序不同,方法返回值和访问修饰符可以不同,发生在编译时
重写
重写发生在父子类中,方法名、参数列表必须相同,返回值范围小于等于父类,抛出的异常范围小于等于父类,访问修饰符范围大于等于父类;如果父类方法访问修饰符为private则子类就不能重写该方法,因为已经被私有化了