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