Overload和Override、super和this、==和equals()的区别
Overload和Overrride的区别
overload 是方法的重载,函数名一样,可以通过改参数的类型、参数的个数、以及参数的位置实现重载;
注意:不能通过改变返回类型来实现重载
override 是方法的重写,函数名一样,参数的类型、个数、以及参数的位置都必须一致才是重写;
super和this的区别
super.指父类的属性,this.指当前类的属性;
可以通过this.访问父类的属性,受修饰符的限制;
super()指父类的无参构造,this()指当前类的无参构造,两者都放在构造器的第一行,故这两者不能同时出现;
==和equals()的区别
==用来比较内存地址值是否相等,equals()是比较内存地址中的内容是否相等;如下特例:
String st1 = “abc”;
String st2 = “abc”;
Syso(st1==st2);的结果为true
内存判断堆中有一样的值”abc”就不会在栈中重新开辟新的空间,st1和st2就共用一个地址,故可以用==判断是否相等。