找不到練手的基礎(chǔ)練習(xí)題?全在這里啦...

題目整理來(lái)源 —— 恒驪學(xué)堂 ,更加體系化的視頻請(qǐng)點(diǎn)擊

1、 面向?qū)ο缶幊痰娜筇匦允牵? )
A) 封裝,繼承,多態(tài)
B) 封裝,重用,繼承
C) 繼承,抽象,多態(tài)
D) 封裝,靈活,抽象

2、 下面關(guān)于構(gòu)造方法的說(shuō)法正確的是( )
A. 構(gòu)造方法不能被繼承
B. 構(gòu)造方法不能被重寫
C. 構(gòu)造方法不能被重載
D. 構(gòu)造方法不能聲明為private

3、 下面關(guān)于類的說(shuō)法,不正確的是( )
A) 類是同種對(duì)象的集合和抽象
B) 類屬于Java語(yǔ)言中的引用數(shù)據(jù)類型
C) 對(duì)象是類的實(shí)例
D) 類就是對(duì)象

4、 Java語(yǔ)言中哪個(gè)包是被自動(dòng)導(dǎo)入的()
A) java.util
B) java.lang
C) java.default
D) java.io

5、 有一個(gè)類MyClass,它的構(gòu)造方法聲明正確的是( )
A) void MyClass(int x) {...}
B) Myclass(int x){...}
C) public MyClass(int x){…}
D) public void MyClass(int x){…}

6、 在Java中,如果父類中的某些方法不包含任何邏輯,并且需要由子類重寫,應(yīng)該使用
( )關(guān)鍵字來(lái)聲明父類的這些方法

A) final
B) abstract
C) static
D) void

7、 下面關(guān)于接口說(shuō)法不正確的是( )
A) 接口的所有方法都是抽象的
B) 接口所有的方法一定都是public的
C) 用于定義接口的關(guān)鍵字是implements
D) 接口是一組行為的集合

8、 為了區(qū)分類中重載的同名不同方法,要求( )
A) 參數(shù)的類型或個(gè)數(shù)不同
B) 使用不同的參數(shù)名
C) 修改訪問(wèn)權(quán)限
D) 方法返回值數(shù)據(jù)類型不同

9、 不能用在類上的修飾符是( )
A) final
B) public
C) abstract
D) protected

10、 當(dāng)編譯并運(yùn)行下面程序時(shí)會(huì)出現(xiàn)什么結(jié)果( )

public class MyAr{ 
     public static void main(String argv[]){          
          int[] i = new int[5]; 
          System.out.println(i[5]);      
     } 
}  

A) 編譯出錯(cuò)
B) 運(yùn)行出錯(cuò)
C) 輸出0
D) 輸出“null”

11、 已定義兩個(gè)接口B和C,要定義一個(gè)類同時(shí)實(shí)現(xiàn)這兩個(gè)接口,正確的是( )
A) interface A extends B,C
B) interface A implements B,C
C) class A implements B,C
D) class A implements B,implements C

12、 下面關(guān)于繼承的敘述正確的是( )
A. 在JAVA里只允許單一繼承
B. 在JAVA里一個(gè)類只能實(shí)現(xiàn)一個(gè)接口
C. JAVA可以多繼承
D. JAVA的單一繼承避免了菱形繼承的危險(xiǎn)

13、 研究下面的JAVA代碼,輸出結(jié)果將是( )

public class Test {  
    String s = "nba"; 
    public void test(String s)  { 
        System.out.println("s:"+s); 
        System.out.println("this.s:"+this.s);   
        this.s=s; 
        System.out.println("s:"+s); 
        System.out.println("this.s:"+this.s); 
    } 
    public static void main(String[] args) { 
        new Test().test("cba"); 
    }
 }  

A. s:cba this.s:nba s:cba this.s:nba
B. s:nba this.s:nba s:nba this.s:nba
C. s:cba this.s:nba s:cba this.s:cba
D. s:nba this.s:cba s:cba this.s:cba

14、 給定JAVA代碼如下,關(guān)于super的用法,以下描述正確的是( )

class C extends B { 
    public C()     { 
         super();    
    } 
} 

A、用來(lái)調(diào)用類B中定義的super()方法
B、用來(lái)調(diào)用類C中定義的super()方法
C、用來(lái)調(diào)用類B中的無(wú)參構(gòu)造方法
D、用來(lái)調(diào)用類B中第一個(gè)出現(xiàn)的構(gòu)造方法

15. 對(duì)于任意一個(gè)類,用戶所能定義的構(gòu)造方法的個(gè)數(shù)至多為()
A. 0個(gè)
B. 1個(gè)
C. 2個(gè)
D. 任意個(gè)

16.關(guān)于實(shí)例方法和類方法,以下描述正確的是()
A. 實(shí)例方法只能訪問(wèn)實(shí)例變量
B. 類方法既可以訪問(wèn)類變量,也可以訪問(wèn)實(shí)例變量
C. 類方法只能通過(guò)類名來(lái)調(diào)用
D. 實(shí)例方法只能通過(guò)對(duì)象來(lái)調(diào)用

17.接口是Java面向?qū)ο蟮膶?shí)現(xiàn)機(jī)制之一,以下說(shuō)法正確的是:()
A. Java支持多重繼承,一個(gè)類可以實(shí)現(xiàn)多個(gè)接口;
B. Java只支持單重繼承,一個(gè)類可以實(shí)現(xiàn)多個(gè)接口;
C. Java只支持單重繼承,一個(gè)類只可以實(shí)現(xiàn)一個(gè)接口;
D. Java支持多重繼承,但一個(gè)類只可以實(shí)現(xiàn)一個(gè)接口。

18. 關(guān)于接口的定義和實(shí)現(xiàn),以下描述正確的是:()
A. 接口定義中的方法都只有定義沒(méi)有實(shí)現(xiàn)
B. 接口定義中的變量都必須寫明final和static
C. 如果一個(gè)接口由多個(gè)類來(lái)實(shí)現(xiàn),則這些類在實(shí)現(xiàn)該接口中的方法時(shí)應(yīng)采用統(tǒng)一的代碼
D. 如果一個(gè)類實(shí)現(xiàn)一個(gè)接口,則必須實(shí)現(xiàn)該接口中的所有方法,但方法未必聲明為public.

19.下列關(guān)于抽象類的說(shuō)法四個(gè)是正確的?()
A.某個(gè)抽象類的父類是抽象類,則這個(gè)子類必須重寫父類的所有抽象方法;
B.接口和抽象類是同一回事;
C.絕對(duì)不能用抽象類去創(chuàng)建對(duì)象;
D.抽象類中不可以有非抽象方法。

20、以下描述不正確的是?()
A. final class不能被繼承
B. final變量不能被修改
C. final成員變量不可以在構(gòu)造方法中賦值
D. final方法不能被覆蓋(override)

21、以下描述不正確的是()
A. abstract class一定有abstract method(s)
B. abstract class可以沒(méi)有abstract method(s)
C. 定義abstract class的目的是為了被繼承
D. interface中定義的方法全是abstract methods
E. interface中定義的變量全部是final static變量

22、下面關(guān)于java語(yǔ)言中方法的說(shuō)法錯(cuò)誤的是: ()
A.方法調(diào)用時(shí)參數(shù)類型必須符合方法的定義
B.參數(shù)傳遞是值傳遞的方式
C.如果方法沒(méi)有返回值必須聲明返回為void
D.如果方法定義為返回void,則方法中不能出現(xiàn)return語(yǔ)句

23. 在Java類中,使用以下( )聲明語(yǔ)句來(lái)定義公有的int型常量MAX。
A. public int MAX = 100;
B. final int MAX = 100;
C. public static int MAX = 100;
D. public static final int MAX = 100;

24. 在Java中,下列關(guān)于方法重載的說(shuō)法中錯(cuò)誤的是( )。
A. 方法重載要求方法名稱必須相同
B. 重載方法的參數(shù)列表必須不一致
C. 重載方法的返回類型必須一致
D. 一個(gè)方法在所屬的類中只能被重載一次

25. 給定Java代碼如下所示,在橫線處新增下列( )方法,是對(duì)cal方法的重載。

public class Test{ 
  public void cal(int x, int y, int z) {} 
  _____________
                                                               
} 

A. public int cal(int x, int y, float z){ return 0; }
B. public int cal(int x, int y, int z){ return 0; }
C. public void cal(int x, int z){ }
D. public void cal(int z, int y, int x){ }

26. 在Java中,下面對(duì)于構(gòu)造函數(shù)的描述正確的是( )。
A. 類必須顯式定義構(gòu)造函數(shù)
B. 構(gòu)造函數(shù)的返回類型是void
C. 構(gòu)造函數(shù)和類有相同的名稱,并且不能帶任何參數(shù)
D. 一個(gè)類可以定義多個(gè)構(gòu)造函數(shù)

27. 下面Java代碼的運(yùn)行結(jié)果是( )。

class Penguin {
    private String name = null; // 名字
    private int health = 0; // 健康值
    private String sex = null; // 性別

    public void Penguin() {
        health = 10;
        sex = "雄";
        System.out.println("執(zhí)行構(gòu)造方法。");
    }
    public void print() {
        System.out.println("企鵝的名字是" + name + ",健康值是" + health + ",性別是" + sex
                + "。");
    }
    public static void main(String[] args) {
        Penguin pgn = new Penguin();
        pgn.print();
    }
}

A. 企鵝的名字是null,健康值是10,性別是雄。
B. 執(zhí)行構(gòu)造方法。 企鵝的名字是null,健康值是0,性別是null。
C. 企鵝的名字是null,健康值是0,性別是null。
D. 執(zhí)行構(gòu)造方法。 企鵝的名字是null,健康值是10,性別是雄。

28. 下列選項(xiàng)中關(guān)于Java中封裝的說(shuō)法錯(cuò)誤的是( )。
A. 封裝就是將屬性私有化,提供公有的方法訪問(wèn)私有屬性
B. 屬性的訪問(wèn)方法包括setter方法和getter方法
C. setter方法用于賦值、getter方法用于取值
D. 類的屬性必須進(jìn)行封裝,否則無(wú)法通過(guò)編譯

29. 使用Java實(shí)現(xiàn)封裝,第一步是修改屬性可見性來(lái)限制對(duì)屬性的訪問(wèn),第二步是創(chuàng)建賦值和取值方法,用于對(duì)屬性的訪問(wèn),第三步應(yīng)該是( )。
A. 使用賦值和取值方法訪問(wèn)屬性
B. 編寫常規(guī)方法訪問(wèn)屬性
C. 在賦值和取值方法中,加入對(duì)屬性的存取限制
D. 編寫main方法創(chuàng)建對(duì)象,調(diào)用賦值和取值方法訪問(wèn)屬性

30. 在Java中,以下程序編譯運(yùn)行后的輸出結(jié)果為( )。

public class Test {
    int x, y;

    Test(int x, int y) {
        this.x = x;
        this.y = y;
    }
    public static void main(String[] args) {
        Test pt1, pt2;
        pt1 = new Test(3, 3);
        pt2 = new Test(4, 4);
        System.out.print(pt1.x + pt2.x);
    }
}

A. 6
B. 3 4
C. 8
D. 7

31.給定一個(gè)Java程序Test.java的代碼如下所示,編譯時(shí),會(huì)出現(xiàn)以下( )情況。

class Parent { 
     public int count() {               // 第1行   
        return 0; 
     } 
} 
public class Test  extends Parent {  
      private int i; 
      public int count() {               // 第2行  
          return i % 9;                // 第3行 
      }  
} 

A. 編譯通過(guò)
B. 在第1行引發(fā)編譯錯(cuò)誤
C. 在第2行引發(fā)編譯錯(cuò)誤
D. 在第3行引發(fā)編譯錯(cuò)誤

32.給定如下一個(gè)Java源文件Child.java,編譯并運(yùn)行Child.java,以下結(jié)果正確的是( )。

class Parent1 { 
    Parent1(String s){ 
        System.out.println(s);     
    }
 } 
class Parent2  extends Parent1{     
    Parent2(){ 
        System.out.println("parent2");     
    } 
} 
public class Child extends Parent2 { 
    public static void main(String[] args) { 
        Child child = new Child();    
    }
} 

A. 編譯錯(cuò)誤:沒(méi)有找到構(gòu)造器Child()
B. 編譯錯(cuò)誤:沒(méi)有找到構(gòu)造器Parent1()
C. 正確運(yùn)行,沒(méi)有輸出值
D. 正確運(yùn)行,輸出結(jié)果為:parent2

33. 分析如下所示的Java代碼,則選項(xiàng)中的說(shuō)法正確的是( )。

class Parent{ 
    public String name; 
   
    public Parent(String pName){  
       this.name = pName; 
    }
 }

public class Test  extends Parent {  //1 
     public Test(String Name){               //2   
        name="hello";          //3  
        super("kitty");          //4 
     }  
} 

A. 第2行錯(cuò)誤,Test類的構(gòu)造函數(shù)中參數(shù)名稱應(yīng)與其父類構(gòu)造函數(shù)中的參數(shù)名相同
B. 第3行錯(cuò)誤,應(yīng)使用super關(guān)鍵字調(diào)用父類的name屬性,改為super.name="hello";
C. 第4行錯(cuò)誤,調(diào)用父類構(gòu)造方法的語(yǔ)句必須放在子類構(gòu)造方法中的第一行
D. 程序編譯通過(guò),無(wú)錯(cuò)誤

34. 下面關(guān)于Java接口的說(shuō)法錯(cuò)誤的是( )。
A. 一個(gè)Java接口是一些方法特征的集合,但沒(méi)有方法的實(shí)現(xiàn)
B. Java接口中定義的方法在不同的地方被實(shí)現(xiàn),可以具有完全不同的行為
C. Java接口中可以聲明私有成員
D. Java接口不能被實(shí)例化

35. 在Java接口中定義常量,下面語(yǔ)法錯(cuò)誤的是( )。
A. static int MALE = 1;
B. final int MALE = 1;
C. int MALE = 1;
D. private int MALE = 1;

36. 關(guān)于下列代碼說(shuō)法正確的是:()。

public class Foo { 
     public int add(int a, int b) {   
          return a + b;  
     }   
     public static void main(String[] args) {  
          Foo foo = null; 
          System.out.println(foo.add(10, 20));  
     } 
} 

A.編譯錯(cuò)誤
B.正常運(yùn)行,但無(wú)結(jié)果輸出
C.運(yùn)行輸出:30
D.運(yùn)行時(shí)拋出NullPointerException異常

37、請(qǐng)看下列代碼

class ClassA {} 
class ClassB extends ClassA {} 
class ClassC extends ClassA {} 

public class Test{ 
     public static void main(String[] args) {
        ClassA p0 = new ClassA();   
        ClassB p1 = new ClassB();   
        ClassC p2 = new ClassC();   
        ClassA p3 = new ClassB();   
        ClassA p4 = new ClassC();   
        <插入代碼>  
     }
} 

下列選項(xiàng)中放置在<插入代碼>處,使程序編譯正確的是: ()
A.p0 = p1;
B.p1 =p2;
C.p2 = p4;
D.p2 = (ClassC)p1;

38、程序輸出的結(jié)果是 ()。

class One { 
    public One() { 
    System.out.print(1); 
    }
} 
class Two extends One { 
    public Two() { 
       System.out.print(2); 
    }
} 
class Three extends Two { 
    public Three() {
        System.out.print(3); 
    }
} 
public class Numbers {
    public static void main(String[] argv) {
        new Three(); 
    }
} 

A.1
B.3
C.123
D.321

39、下面代碼運(yùn)行結(jié)果是: ()

public class Animal { 
      public String noise() {
          return "peep"; 
      } 
      public static void main(String[] args) {  
          Animal animal = new Dog(); 
          Cat cat = (Cat)animal;  
          System.out.println(cat.noise()); 
      }
}

class Dog extends Animal { 
      public String noise() {  
          return "bark"; 
      }
}

class Cat extends Animal { 
      public String noise() {  
          return "meow"; 
      }
}  

A.peep
B.bark
C.meow
D.拋出運(yùn)行時(shí)異常

40、下面代碼運(yùn)行結(jié)果是: ()

class SimpleCalc { 
      public int value; 
      public void calculate() {  
          value += 7; 
      }
} 

public class MultiCalc extends SimpleCalc { 
      public void calculate() {  
        value -= 3; 
      } 
      public void calculate(int multiplier) {
            calculate();  
            super.calculate();  
            value *= multiplier; 
      }  
      public static void main(String[] args) {
         MultiCalc calculator = new MultiCalc();   
         calculator.calculate(2); 
         System.out.println("Value is: " + calculator.value);  
      }
} 

A.Value is: 8
B.Value is: -8
C.Value is: 12
D.Value is: -12

**41、請(qǐng)看下列代碼: **

public abstract class A {
      abstract void a1(); 
      void a2() { }
} 
class B extends A { 
      void a1() { } 
      void a2() { }
} 
class C extends B { 
    void c1() { }
} 
和 
A x = new B(); 
C y = new C(); 
A z = new C();

下列選項(xiàng)中屬于多態(tài)形式調(diào)用方法的是: ()
A.x.a2();
B.z.a2();
C.z.c1();
D.y.c1()

42、程序執(zhí)行的結(jié)果是:()

package com.rl;

class Foo { 
    public int a; 
    public Foo() {
        a = 3; 
    }  
    public void addFive() {
        a += 5; 
    }
} 
class Bar extends Foo {
    public int a;  
    public Bar() {
        a = 8; 
    } 
    public void addFive() {
        this.a += 5; 
    }
} 
public class TestFoo { 
      public static void main(String[] args) {   
            Foo foo = new Bar();   
            foo.addFive(); 
            System.out.println("Value: " + foo.a); 
      }
}

A.Value: 3
B.Value: 8
C.Value: 13
D.Value: 18

43、程序運(yùn)行結(jié)果 ()

public class Test {
    public static void main(String[] args) {
        Child c = new Child();
    }
}
class Father {
    public Father() {
        System.out.println("父類無(wú)參構(gòu)造函數(shù)");
    }
    public Father(String name) {
        System.out.println("父類有參構(gòu)造函數(shù)");
    }
}
class Child extends Father {
    public Child() {
        this("dd");
        System.out.println("子類無(wú)參構(gòu)造函數(shù)");
    }
    public Child(String name) {
        super("dd");
        System.out.println("子類有參構(gòu)造函數(shù)");
    }
}

A.父類有參構(gòu)造函數(shù) 子類有參構(gòu)造函數(shù) 子類無(wú)參構(gòu)造函數(shù)
B.父類無(wú)參構(gòu)造函數(shù) 子類有參構(gòu)造函數(shù) 子類無(wú)參構(gòu)造函數(shù)
C.子類有參構(gòu)造函數(shù) 子類無(wú)參構(gòu)造函數(shù) 父類無(wú)參構(gòu)造函數(shù)
D.子類無(wú)參構(gòu)造函數(shù) 子類有參構(gòu)造函數(shù) 父類無(wú)參構(gòu)造函數(shù)

44.下列代碼的運(yùn)行結(jié)果是: ()

public class Animal {
    public String noise() {
        return "peep";
    }
    public static void main(String[] args) {
        Cat cat = null;
        Animal animal = new Dog();
        if (animal instanceof Cat) {
            cat = (Cat) animal;
            System.out.println(cat.noise());
        } else {
            System.out.println("animal is not Cat's instance");
        }
    }
}
class Dog extends Animal {
    public String noise() {
        return "bark";
    }
}

class Cat extends Animal {
    public String noise() {
        return "meow";
    }
}

A.peep
B.bark
C.meow
D.animal is not Cat's instance

45. 下列關(guān)于修飾符混用的說(shuō)法,錯(cuò)誤的是()
A. abstract不能與final并列修飾同一個(gè)類
B. abstract類中不可以有private的成員
C. abstract方法必須在abstract類中
D. static方法中能處理非static的屬性

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 專業(yè)考題類型管理運(yùn)行工作負(fù)責(zé)人一般作業(yè)考題內(nèi)容選項(xiàng)A選項(xiàng)B選項(xiàng)C選項(xiàng)D選項(xiàng)E選項(xiàng)F正確答案 變電單選GYSZ本規(guī)程...
    小白兔去釣魚閱讀 10,592評(píng)論 0 13
  • 一、基礎(chǔ)知識(shí):1、JVM、JRE和JDK的區(qū)別:JVM(Java Virtual Machine):java虛擬機(jī)...
    殺小賊閱讀 2,569評(píng)論 0 4
  • 小編費(fèi)力收集:給你想要的面試集合 1.C++或Java中的異常處理機(jī)制的簡(jiǎn)單原理和應(yīng)用。 當(dāng)JAVA程序違反了JA...
    八爺君閱讀 5,234評(píng)論 1 114
  • 天使降臨到了我身邊 故事簡(jiǎn)介 講述了由怕生的女大學(xué)生星野宮子,喜歡上了小學(xué)五年級(jí)的妹妹日向的同學(xué)白咲花之后所發(fā)生的...
    真祖夜宇零閱讀 838評(píng)論 0 0
  • 你說(shuō)天涯不遠(yuǎn),于是我走遍了天涯。 你說(shuō)落日不遠(yuǎn),我便日日等著斜陽(yáng)墜下。 你說(shuō)江山不遠(yuǎn),我便陪你踏了山河胡馬。 你還...
    暖阿瑤閱讀 264評(píng)論 0 2

友情鏈接更多精彩內(nèi)容