A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 王小丑 中级黑马   /  2013-2-14 21:11  /  1272 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 王文正 于 2013-2-14 21:14 编辑

高手指教,昨天看一本java面试题集,遇到下面两个小问题,说出来很丢人,自己好歹学习这么长时间了,确实看不出来那一个地方错了?一共两个,求指教,多谢!
public class Something {
void doSomething () {
private String s = ”";
int l = s.length();
}
}
有错吗?


这个我看了很久都找不到错误
abstract class Something {
private abstract String doSomething ();
}
这好像没什么错吧?

5 个回复

倒序浏览
补充:下面这个我就更搞不懂了,高手看看那个错了
public class Something {
public static void main(String[] args) {
Other o = new Other();
new Something().addOne(o);
}
public void addOne(final Other o) {
o.i++;
}
}
class Other {
public int i;
}
回复 使用道具 举报
这几个问题,说实在的网上有答案的,这里就说两个例子。
第二个例子,抽象方法不能私有化,这个可以参照有关抽象类的资料,会有介绍。
第三个例子,new Something().addOne(o),这个是一个内部类new Something(),然后直接在这内部类的后面调用该类的方法,传递相应的参数

网上很多答案,这样的问题很多很

回复 使用道具 举报
只不过都是修饰符的问题,建议去看java语言规范....
回复 使用道具 举报
本帖最后由 朱玉玺 于 2013-2-14 22:37 编辑

第一例子:局部变量不能使用成员变量的修饰符private~
第二个例子,楼上已经说了
第三个例子,运行没有问题啊。
另外楼主,你发代码的时候能不能用发帖里边的代码工具编辑一下,这样看很累。
回复 使用道具 举报
貌似第三个非常有意思,是对滴,只不过方法内形参 final修饰的引用 o,对象的值可以改变
晓得 final 修饰基本类型(int,float,double....)值不能改变, final 修饰引用类型,引用的地址不能改变,但所引用对象的值可以改变

所以 final 对于基本类型,不可变的是值
             对于引用类型,不可变的是引用地址
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马