1. 程式人生 > >java第四章練習題(封裝)

java第四章練習題(封裝)

第四章練習題(封裝)

1.下列有關類、物件和例項的敘述,正確的是哪一項?

    A.類就是物件,物件就是類,例項是物件的另一個名稱,三者沒有差別

    B.物件是類的抽象,類是物件的具體化,例項是物件的另一個名稱

    C.類是物件的抽象,物件是類的具體化,例項是類的另一個名稱

    D.類是物件的抽象,物件是類的具體化,例項是物件的另一個名稱

2.下列類Account的構造方法中,宣告正確的是?

    A.  Account (String name){)

    B.  Account (String  name)

    C.Account (name)()

    D.  NewAccount (String name){)

3.類Account中欄位宣告正確的是哪項?

    A.  class  Account f

    name;

    amount;

    )

    B.  class  Account{

    String name=l.0;

    double amount="Mike";

    )

    C.  class  Accountf

    String name;

    double amount;

    )

    D.  class  Account{

    String   name= "Mike,,, double   amount=1000.0;

    )

4.類Account中方法宣告正確的是哪一項?

    A.  class  Account f

    deposit();

    )

    B.  class  Accountf

    void deposit();

    }

    C.  class  Accountf

    void deposit(){)

    )

    D. class Accountf

    void  deposit{)

    )

    5.下列有關類宣告的程式碼片段,哪一項是正確的?

    A. package school;

    import  java. sql.*;

    class Student {

    }

    B.import java.sql.*;

    package school;

    class  Student f

    )

    C. package school;

    class Student{

    }

    import  java. sql.*j

    D. package school;

    import java. sql.*;

    private String name;

    class Student {

    }

6.有關new關鍵字的描述正確的是哪項?

    A.建立物件例項的時候可以不使用new關鍵字

    B.new所建立的物件不佔用記憶體空間

    C.new會呼叫類的構造器來建立物件

    D.new所建立的物件一定存在引用變數

7.下列哪些是方法public  int  add (int a)的過載方法?(選三項)

    A.  public  int  add (long a);

    B.  public  void  add (int a)j

    C.  public void add (long a);

    D.  public  int  add (float a);

    8.我們定義一個Account類來描述銀行賬戶,銀行賬戶有賬戶名、金額等屬性

    特徵,同時有存款、取款等行為特徵,下述程式碼適合描述的是哪項?

    A.class  Accountf

    String name;//賬戶

    String amount;  //金額

    Account (String name)(    )

    void deposit (double mount){  //存款

    )

    void withdraw (double mount){  //取款

    }

    )

    B.class  Accountf

    String name;//賬戶

    doujole amount;  //金額

    Account (double amount){    )

    void deposit (double mount){  //存款

    )

    void withdraw (double mount){  //取款

    )

    )

    C.class  Accountf

    String name;//賬戶

    double amount;  //金額

    Account (String name){    )

    void deposit (double mount){//存款

    )

    void withdraw (double mount){  //取款

    )

    )

    D.class Accountf

    String name;//賬戶

    double amount;//金額

    Account (String name){    )

    void deposit(){//存款

    )

    void withdraw(){//取款

    )

    )

    9.現有:

    1.  class Banana2  f

    2.    static int X=2;

    3.'public static void main (String  []  args)  {

    4.    int X=2;

    5.Banana2 b=new Banana2();

    6.    b.go(x);

    7.    }

    8.    static  {x+=x;  )

    9.    void go (int x)  {

    10.    ++x;

    11.    System. out.println (x);

    12.    }

    13.  }

    結果為:

    A.7

    B.  5

    C.  3

    D.  2

10.現有:

    1.  class TestFoo f

    2.    int x;

    3.    String y;

    4.int  getX()  {  return  x;  }

    5.String getY()  {return y;  }

    6.    void setX (int  x)  {

    7.    int Z=7:

    8.    this.x=x;

    9.    }

    10.  }

    可以新增多少個修飾符來封裝此類?

    A.5

    B.  4

    C.  3

    D.  2   //public final或者 publilc abstract

    11.定義列舉如下:

    public  enum  Direction{

    EAST,SOUTH,WEST,NORTH

    )

    F列正確使用該列舉型別的語句是哪項?

    A. Direction Direction=EAST;

    B. Direction direction=Direction.WEST;

    C. int a- Direction.NORTH;

    n Direction direction=2;

12.定義類:

    package utils;

    public class Rep{

    public static String twice (String s){return s+s ;)

    }

    再定義另一個類Demo:

    l.//insert code here

    2.public class Demo{

    3.   public static void main (String[]  args){

    4.System. out .println( twice( "Hello"));

    5.    }

    6.}

    在第一行插入哪項程式碼,可以使程式正常編譯和執行?

    A.import utils.*;

    B. import utils.Rep.*;

    C. import static utils.Rep.twice;

    D. static import utils.Rep.twice;

13.現有:

    public  class  TestDemo{

    private int X-2;

    static int y=3;

    public  void method(){

    final int i=100;

    int j  =10;

    class Cinner {

    public void mymethod(){

    //Here

    }

    }

    }

    }

在Here處可以訪問的變數是哪些?(選三項)

A.X

 B.  y

 C.  j

 D.  i

14.現有如F包結構:

    com

    |一一X

    |    |一一Alpha.class

    |    |

    |    |一一y

    I         |一一Beta.class

    |

    |l-- Gamma.class

  和類:

    class Test  {  Alpha a;  Beta b; Gamma c;  }

  哪三個必須加入到類Test中,以使其通過編譯?(選三項)

  A. package y;

  B. package com;

  C. import com.x.y.*;

  D. import com.x.*;

15.現有2個檔案:

    1.package x;

    2. public class X{

    3.public static void doX()  {System.out.print("doX");}

    4.  }

  和:

    1.  class Find{

    2.public static void main(String  []  args)  {

    3.    //insert code here

    4.    }

    5.  }

    哪兩行分別插入到類Find的第3行將編譯併產生輸出“doX”?(選兩項)

    A.doX();

    B. X.doX();

    C.x.X.doX();

    D. x.X myX=new x.X();myX.doX();

    1D

    2A

    3C

    4C

    5A

    6C

    7 ACD

    8C

    9C

    10 D

    11  B

    12 C

    13 A B D

    14 BCD

    15 C D