java面试题

当前位置: 面试问题网 > java面试题 > JAVA代码查错题

JAVA代码查错题

1.abstract class Name {
   private String name;
   public abstract boolean isStupidName(String name) {}
   }
   这有何错误?
   2.public class Something {
   void doSomething () {
   private String s = “”;
   int l = s.length();
   }
   }
   有错吗?
   3.abstract class Something {
   private abstract String doSomething ();
   }
   这好像没什么错吧?
   4.public class Something {
   public int addOne(final int x) {
   return ++x;
   }
   }
   这个比较明显。
   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;
   }
   和上面的很相似,都是关于final的问题,这有错吗?
   6.class Something {
   int i;
   public void doSomething() {
   System.out.println(“i = ” + i);
   }
   }
   有什么错呢? 看不出来啊。 答案:
  1、答案: 错。abstract method必须以分号结尾,且不带花括号。
   2、答案: 错。局部变量前不能放置任何访问修饰符 (private,public,和protected)。final可以用来修饰局部变量(final如同abstract和strictfp,都是非访问修饰符,strictfp只能修饰class和method而非variable)。
   3、答案: 错。abstract的methods不能以private修饰。abstract的methods就是让子类implement(实现)具体细节的,怎 么可以用private把abstract method封锁起来呢? (同理,abstract method前不能加final)。
   4、答案: 错。int x被修饰成final,意味着x不能在addOne method中被修改。
   5、答案: 正确。在addOne method中,参数o被修饰成final。如果在addOne method里我们修改了o的reference(比如: o = new Other();),那么如同上例这题也是错的。但这里修改的是o的member vairable (成员变量),而o的reference并没有改变。
   6、答案: 正确。输出的是”i = 0″。int i属於instant variable (实例变量,或叫成员变量)。instant variable有default value。int的default value是0。

【JAVA代码查错题】相关文章

1. JAVA代码查错题

2. 代码中finally中的代码会不会执行

3. 托管代码(Managed Code)和非托管代码(Unmanaged Code)有什么区别

4. Java语言程序设计测试题改错题部分

5. 请问如下代码执行后a和b的值分别是什么

6. 请用用Java代码写一个堆栈

7. Java面试题:请问一下代码输出是什么

8. 为什么要优先使用同步代码块而不是同步方法?

9. 如何写出好的Java代码

10. 请说出以下代码输出什么

本文来源:https://www.mianshiwenti.com/a12189.html

点击展开全部

《JAVA代码查错题》

将本文的Word文档下载到电脑,方便收藏和打印

推荐程度:

进入下载页面
上一篇:没有了 下一篇:没有了

﹝JAVA代码查错题﹞相关内容

其它栏目

也许您还喜欢