黑马程序员技术交流社区

标题: java中混淆的 [打印本页]

作者: biu    时间: 2016-4-1 23:04
标题: java中混淆的
1)equals()方法与“==”的区别
(1)对于字符串变量以及基本数据类型的包装类型来说:“==”比较两变量的引用是否相等,即变量在内存的首地址是否相等。“equals()”比较实体(内存空间)的内容是否相等,因为String类中重新定义了equals()方法,并且是用来比较其值得而不是内存地址。注意:如果  StringBuffer s1=new StringBuffer(“a”); StringBuffer s2=new StringBuffer(“a”); s1.equals(s2);为false,因为StringBuffer类中没有重新定义的equals()方法,因此equals()方法来自于Object类,而Object类的equals()方法是用来比较地址的,所以为false。
(2)对于非字符串变量来说:“==”和“equals()”的作用是相同的,都是用来比较对象在堆内存中的首地址,即用来比较两个引用变量是否指向同一个实体(内存空间)。注意:(1)如果是基本数据类型比较只能用“==”不能用“equals()”。(2)对于基本数据类型的包装类型“==”比较的是实体的引用,“equals()”比较的是实体的内容。
2)是否可以继承String类?
String类是final类故不可以继承。
3)构造器Constructor是否可被override?
构造器Constructor不能被继承,因此不能被override(重写),但可以被overload(重载)。

作者: 陌丶    时间: 2016-4-1 23:08
赞赞赞!!!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2