日本一本亚洲最大|日本午夜免费啪视频在|国产自产在线视频一区|亚洲福利精品视频

    <object id="4ihfc"></object>
      
      
    1. <object id="4ihfc"></object>
    2. java代碼查錯(cuò)面試題(附答案)

        JAVA代碼查錯(cuò)

        1.

        abstract class Name {

        private String name;

        public abstract boolean isStupidName(String name) {}

        }

        大俠們,這有何錯(cuò)誤?

        答案: 錯(cuò)。abstract method必須以分號(hào)結(jié)尾,且不帶花括號(hào)。

        2.

        public class Something {

        void doSomething () {

        private String s = "";

        int l = s.length();

        }

        }

        有錯(cuò)嗎?

        答案: 錯(cuò)。局部變量前不能放置任何訪問修飾符 (private,public,和protected)。final可以用來修飾局部變量

        (final如同abstract和strictfp,都是非訪問修飾符,strictfp只能修飾class和method而非variable)。

        3.

        abstract class Something {

        private abstract String doSomething ();

        }

        這好像沒什么錯(cuò)吧?

        答案: 錯(cuò)。abstract的methods不能以private修飾。abstract的methods就是讓子類implement(實(shí)現(xiàn))具體細(xì)節(jié)的,怎么可以用private把a(bǔ)bstract

        method封鎖起來呢? (同理,abstract method前不能加final)。

        4.

        public class Something {

        public int addOne(final int x) {

        return ++x;

        }

        }

        這個(gè)比較明顯。

        答案: 錯(cuò)。int x被修飾成final,意味著x不能在addOne method中被修改。

        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;

        }

        和上面的很相似,都是關(guān)于final的問題,這有錯(cuò)嗎?

        答案: 正確。在addOne method中,參數(shù)o被修飾成final。如果在addOne method里我們修改了o的reference

        (比如: o = new Other();),那么如同上例這題也是錯(cuò)的。但這里修改的是o的member vairable

        (成員變量),而o的reference并沒有改變。

        

      本文已影響6827
      上一篇:java面試題及答案(四) 下一篇:軟件測試面試題(完整版)一

      相關(guān)文章推薦

      |||||