太原Java培訓
達內太原java培訓中心

18035108441

熱門課程

常見的JAVA面試題


  • QUESTION NO: 1

    publicclass Test1 {

        publicstaticvoid changeStr(String str){

            str="welcome";

        }

        publicstaticvoid main(String[] args) {

            String str="1234";

            changeStr(str);

            System.out.println(str);

        }

    }

    //輸出結果:1234

    //這里雖然是一個靜態方法,但是里面的變量是一個局部變量,

    //所以這里不因為是靜態方法,就誤認為里面的變量也是靜態變量了

    QUESTION NO:2

    publicclass Test2 {

        staticboolean foo(char c) {

           System.out.print(c);

           returntrue;

        }

        publicstaticvoid main(String[] argv) {

           int i = 0;

           //for(65;88&&(i<2);67)

           for (foo('A'); foo('B') && (i < 2); foo('C')) {

               i++;

               foo('D');

           }

        }

    }

    /*

    What is the result?

    A. ABDCBDCB

    B. ABCDABCD

    C. Compilation fails.

    D. An exception is thrown at runtime.

    //輸出結果是:ABDCBDCB

    分析:FOR循環里面講究的條件要為真,與你的判斷式是什么沒有關系

    就像這里,雖然是打印的字母,但是卻不是false,所以可以執行

    第一次進行循環:

    foo('A')打印字母A,(注:這里不是false條件就默認為true條件)

    foo('B')打印字母B,i=0,比較(i < 2),條件為true,進行循環體,foo('D')打印D

    foo('C')打印字母C

    第二次循環:

    foo('B')打印B,i=1,比較(i < 2)為true,進行循環體,foo('D')打印D

    foo('C')打印字母C

    第三次循環:

    foo('B')打印字母B,i=2,比較(i < 2)為false,退出循環,得結果

    */

    QUESTION NO: 3

    1. class A {

    2. protected int method1(int a, int b) { return 0; }

    3. }

    Which two are valid in a class that extends class A? (Choose two)

    A. public int method1(int a, int b) { return 0; }

    B. private int method1(int a, int b) { return 0; }

    C. private int method1(int a, long b) { return 0; }

    D. public short method1(int a, int b) { return 0; }

    E. static protected int method1(int a, int b) { return 0; }

    publicclass B extends A{

        /**

         *@paramargs

         */

        //can not reduce the visibility of the inherited method from A

        //即不能夠使從類A中繼續來的方法的可見性降低  

        //private int method1(int a, int b) { return 0; }

        //This static method cannot hide the instance method from A

        //靜態方法不能夠隱藏繼承于A的實例

        //static protected int method1(int a, int b) { return 0; }

        //返回類型與A中的該方法不一致

        //public short method1(int a, int b) { return 0; }

        /**

         *總結:類的繼承中,如果要想重載父類的方法,必須要和父類中的返回類型、可見性等等都要操作一致

         *否則,程序就會報錯。一定遵守子類要遵從于父類的原則

         *而我選擇的答案居然是privateintmethod1和staticprotectedint

         *我選擇第一個的錯誤理由是:因為原來為保護的,如果我這里設為public,那么就擴展了其原來的可見性

         *本來原來就是對包外不可見的,現在變成對包外可見的了,所以就選擇的是private

         *選擇第二個的錯誤理由是:都是保護的,這里只是變成了靜態的而已

         */

        //這里是寫了一個重載方法,因為參數類型不一致,不會報錯

        privateint method1(int a, long b) { return 0; }

        //可見性可以增大,但是不能夠縮小,正確

        publicint method1(int a, int b) { return 0; }

        publicstaticvoid main(String[] args) {

           // TODO Auto-generated method stub

        }

    }

    QUESTION NO: 4

    1. public class Outer{

    2. public void someOuterMethod() {

    3. // Line 3

    4. }

    5. public class Inner{}

    6. public static void main( String[]argv ) {

    7. Outer o = new Outer();

    8. // Line 8

    9. }

    10. }

    Which instantiates an instance of Inner?

    A. new Inner(); // At line 3

    B. new Inner(); // At line 8

    C. new o.Inner(); // At line 8

    D. new Outer.Inner(); // At line 8//new Outer().new Inner()

    答案如下:

    publicclass Outer {

        publicvoid someOuterMethod() {

           // Line 3

           new Inner();//放在這里不出錯

        }

        publicclass Inner {

        }

        publicstaticvoid main(String[] argv) {

           Outer o= new Outer();

           // Line 8

           //o不能夠被解釋成為一種類型,出錯

           //new o.Inner();

           /**

            *下面兩種用法,都報下面的錯誤:

            *NoenclosinginstanceoftypeOuterisaccessible.

            *Mustqualifytheallocationwithanenclosinginstance

            *oftypeOuter(e.g.x.newA()wherexisaninstanceofOuter)

            */   

           //new Outer.Inner();

           //new Inner();      

        }

    }

    QUESTION NO: 5

    Which method is used by a servlet to place its session ID in a URL that is written to the servlet’s response output stream?

    (譯:那個方法是servlet用于將其session ID入在一個URL中,該URL寫入servlet的響應輸出流)

    A. The encodeURL method of the HttpServletRequest interface.

    B. The encodeURL method of the HttpServletResponse interface.

    C. The rewriteURL method of the HttpServletRequest interface.

    D. The rewriteURL method of the HttpServletResponse interface.

    QUESTION NO: 6

    Which two are equivalent? (Choose two)

    A. <%= YoshiBean.size%>

    B. <%= YoshiBean.getSize()%>

    C. <%= YoshiBean.getProperty("size")%>

    D. <jsp:getProperty id="YoshiBean" param="size"/>

    E. <jsp:getProperty name="YoshiBean" param="size"/>

    F. <jsp:getProperty id="YoshiBean" property="size"/>

    G. <jsp:getProperty name="YoshiBean" property="size"/>

    QUESTION NO: 7

    Which of the following statements regarding the lifecycle of a session bean are correct?

    1. java.lang.IllegalStateException is thrown if SessionContext.getEJBObject() is invoked when a stateful session bean instance is passivated.

    2. SessionContext.getRollbackOnly() does not throw an exception when a session bean with bean-managed transaction demarcation is activated.

    3. An exception is not thrown when SessionContext.getUserTransaction() is called in the afterBegin method of a bean with container-managed transactions.

    4. JNDI access to java:comp/env is permitted in all the SessionSynchronization methods of a stateful session bean with container-managed transaction demarcation.

    5. Accessing resource managers in the SessionSynchronization.afterBegin method of a stateful session bean with bean-managed transaction does not throw an exception.

預約申請免費試聽課程

         

上一篇:IT企業JAVA面試題
下一篇:JAVA常見面試題及解答
選擇城市和中心
江西省

貴州省

廣西省

海南省

草莓成视频人app在线看