1. <tt id="5hhch"><source id="5hhch"></source></tt>
    1. <xmp id="5hhch"></xmp>

  2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

    <rp id="5hhch"></rp>
        <dfn id="5hhch"></dfn>

      1. java代碼查錯面試題

        時間:2020-11-10 15:44:17 面試問題 我要投稿

        java代碼查錯面試題

        1.

        java代碼查錯面試題

        abstract class Name

        {

            private String name;

            public abstract boolean isStupidName(String name) {}

        }

         

        答案: 錯。abstract method必須以分號結尾,且不帶花括號。

         

        2.

        public class Something

        {

            void doSomething ()

           {

                private String s = "";

                int l = s.length();

            }

        }

         

        答案: 錯。局部變量前不能放置任何訪問修飾符 (privatepublic,和protected)。final可以用來修飾局部變量(final如同abstractstrictfp,都是非訪問修飾符,strictfp只能修飾classmethod而非variable)。

         

         

        3.

        abstract class Something

        {

            private abstract String doSomething ();

        }

         

        答案: 錯。abstractmethods不能以private修飾。abstractmethods就是讓子類implement(實現)具體細節的,怎么可以用privateabstractmethod封鎖起來呢? (同理,abstract method前不能加final)。

        4.

        public class Something

        {

            public int addOne(final int x)

            {

                return ++x;

            }

        }

         

        答案: 錯。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;

        }

        答案: 正確。在addOne method中,參數o被修飾成final。如果在addOne method里我們修改了oreference(比如: o = new Other();),那么如同上例這題也是錯的。但這里修改的是omember vairable(成員變量),而oreference并沒有改變。

         

         

        6.

        class Something

        {

             int i;

             public void doSomething()

             {

                 System.out.println("i = " + i);

             }

        }

         

        答案: 正確。輸出的是"i = 0"int i屬於instant variable (實例變量,或叫成員變量)。instant variabledefault value。int的'default value0。

         

         

        7.

        class Something

        {

             final int i;

             public void doSomething()

             {

                 System.out.println("i = " + i);

             }

        }

         

        答案: 錯。final int i 是個finalinstant variable (實例變量,或叫成員變量)。finalinstant variable沒有default value,必須在constructor (構造器)結束之前被賦予一個明確的值。可以修改為"final int i = 0;"。

         

        8.

        public class Something

        {

              public static void main(String[] args)

             {

                 Something s = new Something();

                 System.out.println("s.doSomething() returns " + doSomething());

             }

             public String doSomething()

            {

                 return "Do something ...";

             }

        }

         

        答案: 錯?瓷先ピmaincall doSomething沒有什么問題,畢竟兩個methods都在同一個class里。但仔細看,mainstatic的。static method不能直接call non-static methods。可改成"System.out.println("s.doSomething() returns " + s.doSomething());"。同理,static method不能訪問non-static instant variable

        【java代碼查錯面試題】相關文章:

        JAVA常用代碼積累08-19

        如何讓JAVA代碼更高效10-06

        在Java中執行JavaScript代碼11-18

        Java中的動態代碼編程08-15

        Java代碼的基本知識08-14

        java證書的加密與解密代碼08-12

        Java定時器代碼的編寫10-05

        java基礎面試題201711-13

        華為Java面試題精選10-24

        高級Java面試題匯總09-12

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码

        1. <tt id="5hhch"><source id="5hhch"></source></tt>
          1. <xmp id="5hhch"></xmp>

        2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

          <rp id="5hhch"></rp>
              <dfn id="5hhch"></dfn>