最赞回答 / 慕仙3196643
我刚刚也是不懂,我跟你想的一样,重写了不还是要判断内存地址吗。他们内存地址明明并不相同,为什么还说这两个值相同。后来我发现我忽视了最后一条语句,return true。说明了有两个方法判断他们的对象是否相同:1.判断内存地址 2.地址不同,若类型相同,属性值相同,也算对象相同。
2017-04-12
已采纳回答 / 神_空无
错误是索引越界了。字符串的索引是从0开始的,若字符串的长度用s.length()表示,那么索引范围是0到(s.length()-1),所以你的代码应该改为:char c = s.charAt(i-1);或者循环从0开始,然后i<=len改为i<len
2017-04-12
执行顺序(http://www.cnblogs.com/BlackStorm/p/5699965.html链接讲的很清楚)
父类的静态初始化块
子类的静态初始化块
父类的初始化块
父类的构造函数
子类的初始化块
子类的构造函数
父类的静态初始化块
子类的静态初始化块
父类的初始化块
父类的构造函数
子类的初始化块
子类的构造函数
2017-04-11
最新回答 / 慕函数4910142
HelloWorld.this.getScore()这个this关键字指向的是HelloWorld,这里面没有getScore()方法,所以报错,你应该看看this关键字的用法,你用的不是指向内部类,同时外部类的age也没有定义,也是错误,请采纳
2017-04-11
正确答案:
// 创建方法内部类的对象
MInner mi = new MInner();
// 调用内部类的方法
int newScore=mi.getScore();
// 创建外部类的对象
HelloWorld mo = new HelloWorld();
// 创建方法内部类的对象
MInner mi = new MInner();
// 调用内部类的方法
int newScore=mi.getScore();
// 创建外部类的对象
HelloWorld mo = new HelloWorld();
2017-04-11