视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
JAVA面向对象基础测试题,继承,封装,多态等测试题
2025-09-28 02:08:40 责编:小OO
文档
 JAVA面向对象基础测试题

 提示:本题为第一阶段,JAVA面向对象基础部分练习题,包括对象,类,继承,封装,多态,接口,内部类等等,java核心基础,适合初学者对面向对象基础的知识进行测试,以便查漏补缺。

1.

程序执行的结果是:()。

01

public class Point{

02

 int y = 7;

03

 public void step(int y) {

04

05

06

 }

07

 public static void main(String[] args) {

08

09

10

 }

11

}

 A.14

 B.20

 C.10

 D.17

正确答案:B解析:

2.

程序的执行结果是:()。

01

public class Question {

02

03

04

05

06

07

08

09

10

11

12

}

 A.13

 B.9

 C.0

 D.4

正确答案:B解析:

3.

程序执行的结果是:()。

01

public class Answer {

02

 public static void main(String[] args) {

03

04

05

06

 : score = " + score);

07

 }

08

 void  add(int score) {

09

 : score=" + score++);

10

 }

11

}

 A.

1

add: score=21

2

 main: score = 21

 B.

1

add: score=20

2

 main: score = 21

 C.

1

add: score=21

2

 main: score = 20

 D.

1

add: score=20

2

 main: score = 20

正确答案:D解析:

4.

下列代码编译或运行的结果是:()。

01

public class  Snow{

02

 public String  jump(int x, int y) {

03

04

 }

05

 public String jump(int[] vals) {

06

07

 }

08

 public static void main(String[] args) {

09

10

11

 }

12

}

 A.public String jump(int[] vals) {行,编译出错

 B.System.out.println(s.jump(4, 5));行,抛出运行时异常

 C.输出:jump one

 D.输出:jump two

正确答案:C解析:

5.

关于下列代码说法正确的是:()。

01

public class  Storm {

02

 public void  find() {

03

 }

04

 public String find() {

05

  return "find";

06

 }

07

 public double find(int x) {

08

  return 2.0;

09

 }

10

}

 A.无编译错误

 B.代码 public String find() { 行,出现编译错误

 C.代码 public double find(int x) {行,出现编译错误

 D.代码 return "find";行处出现编译错误

正确答案:B解析:

6.

请看下列代码:

01

class ClassA {}

02

class ClassB extends ClassA {}

03

class ClassC extends ClassA {}

04

public class Test{

05

 public static void main(String[] args) {

06

  ClassA p0 = new ClassA();

07

  ClassB p1 = new ClassB();

08

  ClassC p2 = new ClassC();

09

  ClassA p3 = new ClassB();

10

  ClassA p4 = new ClassC();

11

<插入代码>

12

 }

13

}

下列选项中放置在<插入代码>处,使程序编译正确的是:()。

 A.p0 = p1;

 B.p1 =p2;

 C.p2 = p4;

 D.p2 = (ClassC)p1;

正确答案:A解析:

7.

下列代码的运行结果是:()。

01

public class Animal {

02

 public String noise() {

03

  return "Animal";

04

 }

05

 public static void main(String[] args) {

06

  Cat cat = null;

07

  Animal animal = new Dog();

08

  if (animal instanceof Cat) {

09

10

11

  } else {

12

13

  }

14

 }

15

}

16

class Dog extends Animal {

17

 public String noise() {

18

  return "Dog";

19

 }

20

}

21

class Cat extends Animal {

22

 public String noise() {

23

  return "Cat";

24

 }

25

}

 A.Animal

 B.Dog

 C.Cat

 D.animal is not Cat's instance

正确答案:D解析:

8.

请看下列代码编译和运行的结果是:()。

1

public class Teacher {

2

 private String name="sun";

3

 public static void main(String[] args) {

4

  Teacher[] teachers=new Teacher[2];

5

  System.out.println(teachers[0].name);

6

  System.out.println(teachers.length);

7

 }

8

}

 A.sun 2

 B.null 2

 C.null 1

 D.运行时抛出NullPointerException异常

正确答案:D解析:

9.

下列代码编译和运行的结果是:()。

01

class Person {

02

 String name = " ";

03

 

04

 public Person(String name) {

05

  this.name = name;

06

 }

07

}

08

 

09

class Employee extends Person {

10

 String empNO = "0000";

11

 

12

 public Employee(String empNO) {

13

  this.empNO = empNO;

14

 }

15

}

16

 

17

public class EmployeeTest {

18

 public static void main(String[] args) {

19

  Employee e = new Employee("1109");

20

  System.out.println(e.empNO);

21

 }

22

}

 A.输出:0000

 B.输出:1109

 C.代码public Employee(String empNO) {行,出现编译错误

 D.抛出运行时异常

正确答案:C解析:

10.

下列代码编译和运行的结果是:()。

01

class A {

02

 public void start() {

03

  System.out.println("A Start");

04

 }

05

}

06

public class B extends A {

07

 public void start() {

08

  System.out.println("B Start");

09

 }

10

 public static void main(String[] args) {

11

  ((A) new B()).start();

12

 }

13

}

 A.输出:A Start

 B.输出:B Start

 C.输出:A Start B Start

 D.编译错误

正确答案:B解析:

11.

关于下列代码说法正确的是:()。

01

public interface A {

02

 public void doSomething(String thing);

03

}

04

interface B {

05

}

06

interface C extends A, B {

07

}

08

interface D {

09

 public void doIt(String thing);

10

}

11

class AImpl implements C ,D{

12

 public void doSomething(String msg) {}

13

 public void doIt(String thing) {}

14

}

 A.所有类和接口都编译成功

 B.接口A编译失败

 C.类AImpl编译失败

 D.接口C编译失败

正确答案:A解析:

12.

在 Java 中,关于 final 关键字的说法正确的是:()。

 A.如果修饰局部变量,必须定义时初始化

 B.如果修饰类,则该类只能被一个子类继承

 C.如果修饰方法,则该方法不能在子类中被覆盖

 D.如果修饰方法,则该方法所在的类不能被继承

正确答案:C解析:

13.

关于下列代码说法正确的是:()。

01

public class Cell {

02

 private final int id;

03

 public Cell(int id) {

04

  this.id = id;

05

 }

06

 public void updateId(int id) {

07

  this.id = id;

08

 }

09

 public static void main(String[] args) {

10

  Cell cell = new Cell(1001);

11

  cell.updateId(1002);

12

  System.out.println(cell.id);

13

 }

14

}

 A.编译错误

 B.运行时异常抛出

 C.运行后,cell对象属性id的值没有改变,仍然是1001

 D.运行后,cell对象属性id的值改变成新的值1002

正确答案:A解析:

14.

下列选项中,不属于Java 的访问控制修饰符的是:()。

 A.private

 B.protected

 C.friendly

 D.public

正确答案:C解析:

15.

下面关于import, class和package的声明顺序正确的是:()。

 A.package, import, class

 B.class, import, package

 C.import, package, class

 D.package, class, import

正确答案:A解析:

16.

有一个名为Product的类,下列方法中属于该类的构造方法的是:()。

 A.public Product(){}

 B.public Product(String name){}

 C.public void Product(){}

 D.public void Product(String name){}

正确答案:AB解析:

17.

请看下列代码:

1

public class Tetromino {

2

 protected int move(int x) {

3

  return 0;

4

 }

5

}

6

class T extends Tetromino {

7

<插入代码>

8

}

在<插入代码>处填入选项中的代码,使T类没有编译错误的是:()。

 A.public int move(int x) { return 0; }

 B.private int move(int x) { return 0; }

 C.private int move(long x) { return 0; }

 D.protected long move(int x) { return 0; }

正确答案:AC解析:

18.

下列关于JVM的内存结构描述正确的是:()。

 A.类的各种信息在堆中保存

 B.栈用于存放程序运行过程当中所有的局部变量

 C.堆一般用于存储使用new关键字创建的对象

 D.类是JVM的内存结构

正确答案:BC解析:

19.

请看下列代码:

1

public class Foo {

2

  static void alpha() { /* more code here */}

3

  void beta() { /* more code here */}

4

}

下列说法正确的是:()。

 A.Foo.beta()是调用beta方法的正确方式

 B.Foo.alpha()是调用alpha方法的正确方式

 C.beta方法可以直接调用alpha方法

 D.alpha方法可以直接调用beta方法

正确答案:BC解析:

20.

请看下列代码:

1

public class Line {

2

3

4

 插入代码>

5

6

 public class Point { }

7

}

在<插入代码>处,需要创建Point类的对象,下列选项正确的是:()。

 A.super.p = new Point();

 B.p = super.new Point();

 C.p =new Point();

 D.p =this.new Point();

正确答案:CD解析:下载本文

显示全文
专题