全部学科
Python全栈
python
NodeJS全栈
nodejs

JAVA面向对象基础专题测试

20 题 40 分钟 难度:★

考察知识点

本试卷涵盖以下核心知识点:

类与对象(5题)

  • 类与对象的关系(类是模板,对象是实例)
  • 使用new关键字创建对象
  • 对象存储在堆内存
  • 类的基本组成(属性和方法)
  • 一个类可以创建多个对象实例

封装(3题)

  • 封装的概念与目的(隐藏实现细节,保护数据安全)
  • 使用private修饰属性
  • getter/setter方法的使用
  • setter中可以添加验证逻辑

继承(2题)

  • 使用extends关键字实现继承
  • 构造方法不能被继承
  • 子类构造方法默认调用父类无参构造方法

多态(3题)

  • 多态的概念(同一方法不同实现)
  • 多态的实现条件(继承、方法重写、向上转型)
  • 多态调用子类重写的方法
  • 多态提高代码灵活性和扩展性

构造方法(3题)

  • 构造方法的作用(创建对象并初始化)
  • 构造方法的特点(与类名相同,无返回类型)
  • 构造方法可以重载,不能继承
  • 构造方法中使用this调用本类其他构造方法

this关键字(2题)

  • this代表当前对象
  • this区分成员变量和局部变量
  • this调用当前对象的成员方法
  • this在构造方法中的应用

static关键字(2题)

  • static修饰的成员属于类
  • 静态成员所有对象共享
  • 静态成员可以通过类名直接访问

包与访问修饰符(3题)

  • 包的作用(组织类、避免类名冲突)
  • import关键字导入其他包的类
  • 访问修饰符权限范围(public > protected > default > private)
  • default访问权限范围(本类和同包)
💡 参考答案在文末
判断题
1

一个类可以创建多个对象实例。

A

B

2

一个类的多个对象共享同一个静态变量。

A

B

3

构造方法可以使用this关键字调用本类的其他构造方法。

A

B

单选题
4

封装的主要目的是什么?

A

提高代码执行效率

B

隐藏内部实现细节,保护数据安全

C

减少代码量

D

简化代码结构

5

构造方法的特点不包括以下哪项?

A

方法名与类名相同

B

没有返回类型(连void都不写)

C

可以被继承

D

在创建对象时自动调用

6

类和对象的关系是什么?

A

类是对象的实例

B

对象是类的模板

C

类是对象的模板,对象是类的实例

D

类和对象是同一概念

7

实现封装通常使用什么访问修饰符修饰属性?

A

public

B

private

C

protected

D

default

8

Java中实现继承使用什么关键字?

A

extends

B

inherits

C

implements

D

super

9

多态的含义是什么?

A

一个类有多个对象

B

同一个方法在不同对象中有不同的实现

C

一个对象有多个属性

D

一个类有多个构造方法

10

实现多态需要满足哪些条件?

A

只要有继承关系即可

B

继承、方法重写、父类引用指向子类对象

C

只要有方法重写即可

D

只要有接口即可

11

以下代码的输出结果是什么?

Java
class Animal {
    void speak() { System.out.println("动物叫声"); }
}
class Dog extends Animal {
    void speak() { System.out.println("汪汪"); }
}
Animal a = new Dog();
a.speak();
A

动物叫声

B

汪汪

C

编译错误

D

运行时错误

12

构造方法的主要作用是什么?

A

定义类的属性

B

创建对象并初始化对象属性

C

定义类的方法

D

销毁对象

13

类的两个基本组成部分是什么?

A

变量和常量

B

属性(成员变量)和方法(成员方法)

C

主方法和构造方法

D

静态成员和实例成员

14

Java中对象存储在哪种内存区域?

A

栈内存

B

堆内存

C

方法区

D

寄存器

15

static关键字修饰的成员属于谁?

A

某个特定对象

B

类本身,所有对象共享

C

只有main方法

D

父类

16

Java中创建对象使用什么关键字?

A

create

B

new

C

make

D

object

17

包(package)的主要作用是什么?

A

提高程序效率

B

组织类、避免类名冲突、控制访问权限

C

简化代码

D

创建对象

18

子类构造方法默认会做什么?

A

不调用任何构造方法

B

自动调用父类的无参构造方法

C

调用本类其他构造方法

D

创建父类对象

多选题
19

面向对象的三大基本特性是什么?

A

封装

B

继承

C

多态

D

抽象

填空题
20

以下代码创建Person对象后,name属性的值是____________

Java
class Person {
    String name;
    Person(String name) {
        this.name = name;
    }
}
Person p = new Person("Tom");
参考答案
1.正确 2.正确 3.正确 4.B 5.C 6.C 7.B 8.A 9.B 10.B 11.B 12.B 13.B 14.B 15.B 16.B 17.B 18.B 19.A; B; C 20.Tom
想在手机上练习这套试卷?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一套试卷 JAVA集合框架专题测试
下一套试卷 → Java专家技能认证卷
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码