有关练习中s3,s4的以及equals()方法的使用
String s1 = "imooc";
String s2 = "imooc";
String s3= "I love "+ s1;
String s4 = "I love " + s1;
代码中的定义,并没有用到new,不应该同s1,s2的理解(多次出现的字符常量,编译器程序只创建一个)一样么?s3,s4为什么是指向的不同单元啊?
因(s3==s4)比较的是s3和s4引用所指向的内存单元的地址,如需比较s3,s4的值重写equals()方法。可是为什么编译器不允许重写?提示:此类中没有非静态字段,不能重写equals()。这是为什么啊?
谢谢。