共40道選擇題,每題2.5分。多選題有錯則全錯,全對才滿分.
面向?qū)ο蟛糠譁y試題
A. 要有子類繼承或?qū)崿F(xiàn)
B. 子類方法的權(quán)限必須大于等于父類的權(quán)限
C. 父類中被PRivate權(quán)限修飾的方法可以被子類重寫
D. 子類重寫接口中的抽象方法,子類的方法權(quán)限必須是public的
A. 封裝將變化隔離
B. 封裝提高重用性。
C. 封裝安全性
D. 只有被private修飾才叫做封裝
public class MyClass{
static int i;
public static void main(String[] args){
System.out.println(i);
}
}
A. 錯誤,變量i沒有被初始化
B. 輸出null
C. 輸出1
D. 輸出0
A. 類必須顯式定義構(gòu)造函數(shù)
B. 構(gòu)造函數(shù)的返回類型是void
C. 構(gòu)造函數(shù)和類有相同的名稱,并且不能帶任何參數(shù)
D. 一個類可以定義多個構(gòu)造函數(shù)
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,性別是雄。
publicinti=10; } classBextendsA{ publicinti=20; }
publicclassTest{ publicstaticvoidmain(Stringargs[]){ Bb=newB(); Aa=b;System.out.println(b.i);System.out.println(a.i); }}輸出為多少 ()C
A.10 10
B.10 20
C.20 10
D.20 20
A. 匿名內(nèi)部類編譯后不會生成.class文件
B. 接口編譯后不會生成.class文件
C. 抽象類中沒有構(gòu)造方法
D. 局部內(nèi)部類只能訪問被final修飾的局部變量。
A. 當成員變量和局部變量重名的時候可以用this區(qū)分
B. this()語句必須放在構(gòu)造函數(shù)的第一行,根據(jù)this后面括號中的參數(shù)調(diào)用本類其他的構(gòu)造函數(shù).ss
C. this可以調(diào)用本類的一般函數(shù)
D. this不可以調(diào)用父類的一般函數(shù)
public class Test {
int x, y;
Test(int x, int y) {
this.x = x;
this.y = y;
}
public static voidmain(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
A. 一個類可以繼承多個父類
B. 一個類可以具有多個子類
C. 子類可以使用父類的所有方法
D. 子類一定比父類有更多的成員方法
A. C可以繼承B中的公有成員,同樣也可以繼承A中的公有成員
B. C只繼承了B中的成員
C. C只繼承了A中的成員
D. C不能繼承A或B中的成員
class Parent {
public int count() { // 第1行
return 0;
}
}
public class Test extends Parent {
public float count() { // 第2行
return 9; // 第3行
}
}
A. 編譯通過
B. 在第1行引發(fā)編譯錯誤
C. 在第2行引發(fā)編譯錯誤
D. 在第3行引發(fā)編譯錯誤
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 voidmain(String[] args) {
Child child = new Child();
}
}B
A. 編譯錯誤:沒有找到構(gòu)造器Child()
B. 編譯錯誤:沒有找到構(gòu)造器Parent1()
C. 正確運行,沒有輸出值
D. 正確運行,輸出結(jié)果為:parent2
class Parent {
Parent() {
System.out.println("parent");
}
}
public class Child extends Parent {
Child(String s) {
System.out.println(s);
}
public static voidmain(String[] args) {
Child child = newChild("child");
}
}C
A. child
B. child
parent
C. parent
child
D. 編譯錯誤
A. 當子父類中成員變量重名的時候,在子類方法中想輸出父類成員變量的值,可以用super區(qū)分子父類成員變量
B. super語句可以放在構(gòu)造函數(shù)的任意一行
C. 子類可以通過super關鍵字調(diào)用父類的方法
D. 子類可以通過super關鍵字調(diào)用父類的屬性
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行錯誤,Test類的構(gòu)造函數(shù)中參數(shù)名稱應與其父類構(gòu)造函數(shù)中的參數(shù)名相同
B. 第3行錯誤,應使用super關鍵字調(diào)用父類的name屬性,改為super.name="hello";
C. 第4行錯誤,調(diào)用父類構(gòu)造方法的語句必須放在子類構(gòu)造方法中的第一行
D. 程序編譯通過,無錯誤
A. 一切類都直接或間接繼承自Object類
B. 接口也繼承Object類
C. Object類中定義了toString()方法
D. Object類在java.lang包中
A. 子類重寫父類的方法
B. 子類重載同一個方法
C. 要有繼承或?qū)崿F(xiàn)
D. 父類引用指向子類對象
class Parent {
public void count() {
System.out.println(10%3);
}
}
public class Child extendsParent{
public void count() {
System.out.println(10/3);
}
public static void main(Stringargs[]) {
Parent p = new Child();
p.count();
}
}
A. 1
B. 1.0
C. 3
D. 3.3333333333333335
class Base {
public void method(){
System.out.print("Base method");
}
}
class Child extends Base{
public void methodB(){
System.out.print("Child methodB");
}
}
class Sample {
public static voidmain(String[] args) {
Base base= new Child();
base.methodB();
}
}
A. Base method
B. Child methodB
C. Base method Child MethodB
D. 編譯錯誤
A. public void aMethod();
B. final void aMethod();
C. void aMethod(){}
D. private void aMethod();
interface Parent{
public int count(int i);
}
public class Test implements Parent {
public int count(int i){
return i % 9;
}
public static void main(String[] args){
________________
int i = p.count(20);
}
} A
A. Test p = new Test();
B. Parent p;
C. Parent p = new Parent();
D. Test p = new Parent();
C. 構(gòu)造代碼塊在每創(chuàng)建一次對象就執(zhí)行一次
D. 以上都不對
A. final
B. static
C. abstract
D. void
public interface Face{
int counter = 40;
}
public class Test implements Face{
private static int counter;
public static void main(String[]args){
System.out.println(++counter);
}
} Test.java 的編譯運行結(jié)果是( )。 d
A. 40
B. 41
C. 0
D. 1
publicclassTest{
staticinti;
publicintaMethod(){
i++;
returni;
}
publicstaticvoidmain(String[]args){
Testtest=newTest();
test.aMethod();
System.out.println(test.aMethod());
}
}編譯運行后,輸出結(jié)果是()。 C
A. 0
B. 1
C. 2
D. 3
publicclassTest{
privatestaticfinalintcounter=10;
publicstaticvoidmain(String[]args){
System.out.println(++counter);
}
}
編譯運行Test.java,結(jié)果是()D
A. 10
B. 11
C. 編譯錯誤
D. 運行時出現(xiàn)異常
publicclassTest{
intcount=9;
publicvoidcount1(){
intcount=10;
System.out.println("count1="+count);
}
publicvoidcount2(){
System.out.println("count2="+count);
}
publicstaticvoidmain(Stringargs[]){
Testt=newTest();
t.count1();
t.count2();
}
}
編譯運行后,輸出結(jié)果是 B
A. count1=9count2=9
B. count1=10count2=9
C. count1=10count2=10
D. count1=9count2=10
publicstaticvoidmain(String[]args){
Strings;
System.out.println(“s=”+s);
}
A. 編譯錯誤
B. 編譯通過,但出現(xiàn)運行時錯誤
C. 正常運行,輸出s=null
D. 正常運行,輸出s=
classPoint{
intx;
booleany;
voidoutput(){
System.out.println(x);
System.out.println(y);
}
publicstaticvoidmain(String[]args){
Pointpt=newPoint();
pt.output();
}
}
A. 運行錯誤
B. 0ture
C. 0false
D. 00
多選擇題:
classParent{
protectedvoideat(){
}
}
classChildextendsParent {
_______voideat(){
}
}
A. protected
B. private
C. 什么也不填
D. public
public class Parent{
int change(){
…
}
}
Class Child extends Parent{
(此處可以放入下面哪個選項)
}
A. public int change(){}
B. int show(int i){}
C. private int change(){}
D. abstract int change(){}
A. 靜態(tài)修飾的成員變量和成員方法隨著類的加載而加載
B. 靜態(tài)修飾的成員方法可以訪問非靜態(tài)成員變量
C. 靜態(tài)修飾的成員可以被整個類對象所共享
D. 靜態(tài)修飾的成員變量和成員方法隨著類的消失而消失
abstractclassShape{
abstractvoiddraw();
}
要創(chuàng)建Shape類的子類Circle,以下代碼正確的是()。BD
A. classCircleextendsShape{intdraw(){}}
B. abstractclassCircleextendsShape{}
C. classCircleextendsShape{voiddraw();
D. classCircleextendsShape{voiddraw(){}}
A. 抽象類可以被實例化
B. 如果一個類中有一個方法被聲明為抽象的,那么這個類必須是抽象類
C. 抽象類中的方法必須都是抽象的
D. 聲明抽象類必須帶有關鍵字abstract
A. interfaceAextendsB,C
B. interfaceAimplementsB,C
C. classAimplementsB,C
D. classAimplementsB,implementsC
A. abstract不可以和private共用
B. abstract不可以和static共用
C. abstract不可以和final共用
D. abstract不可以和public共用
A. Java接口中定義的是擴展功能
B. Java接口中可以被多個子類實現(xiàn),一個類也可以同時實現(xiàn)多個接口
C. Java接口中可以聲明私有成員
D. Java接口不能被實例化
class A {
public void test() {
System.out.println("A類的test()方法");
}
}
class B extends A {
public void test() {
System.out.println("B類的test()方法");
}
public static void main(Stringargs[]) {
}
}
A. A a = new B();
a.test();
B. A a = new A();
a.test();
C. B b = new A();
b.test();
D. new B().test();
A. static int MALE = 1;
B. final int MALE = 1;
C. int MALE = 1;
D. private int MALE = 1;
新聞熱點
疑難解答