全部学科
Python全栈
python
NodeJS全栈
nodejs
📝 1 篇文章 29 道配套习题

面向对象基础专题

专题说明

本专题系统讲解Java面向对象编程(OOP)的核心概念,是Java学习的必经之路。通过类与对象、封装、继承、多态四大特性,配合构造方法、this/static关键字、包与访问修饰符等关键机制,帮助学习者建立完整的面向对象思维。

学习目标

  1. 理解类与对象的关系,掌握类的定义和对象的创建
  2. 掌握封装的含义和实现方式,理解访问修饰符的作用
  3. 理解继承的概念,掌握方法重写和super关键字
  4. 掌握多态的实现条件和实际应用
  5. 熟练使用构造方法进行对象初始化
  6. 正确使用this和static关键字
  7. 理解包的作用和访问修饰符的使用场景

学习内容

本专题涵盖八大核心知识点:

知识点知识点ID核心内容
类与对象900413类的定义、对象的创建与使用
封装900414封装原则、getter/setter
继承900415继承语法、方法重写、super
多态900416向上转型、向下转型、动态绑定
构造方法900417构造方法定义、重载、默认构造
this关键字900418区分成员变量与局部变量、构造器调用
static关键字900419静态变量、静态方法、静态代码块
包与访问修饰符900420包的定义、public/protected/default/private

学习建议

  1. 循序渐进:按照知识点顺序学习,前面的概念是后续内容的基础
  2. 动手实践:每学完一个知识点,编写代码验证理解
  3. 注重理解:多态是难点,需要理解动态绑定的原理
  4. 综合应用:通过综合题目检验对多个知识点的融合理解

📝 配套习题(30 题)

💡 参考答案在文末
判断题
1

子类可以继承父类的构造方法。

A

B

2

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

A

B

3

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

A

B

4

可以使用this调用当前对象的成员方法。

A

B

5

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

A

B

6

在setter方法中可以添加数据验证逻辑,控制属性的有效值范围。

A

B

7

多态可以提高代码的灵活性和扩展性。

A

B

单选题
8

子类可以继承父类的哪些成员?

A

所有成员

B

public和protected成员

C

只有public成员

D

只有构造方法

9

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

A

某个特定对象

B

类本身,所有对象共享

C

只有main方法

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

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

A

extends

B

inherits

C

implements

D

super

13

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

A

定义类的属性

B

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

C

定义类的方法

D

销毁对象

14

如果类中没有定义任何构造方法,系统会做什么?

A

编译错误

B

自动提供一个无参构造方法

C

无法创建对象

D

需要手动创建

15

getter和setter方法的作用是什么?

A

创建对象

B

删除对象

C

提供对私有属性的安全访问和修改

D

定义构造方法

16

this关键字代表什么?

A

父类对象

B

当前对象(调用方法的对象)

C

类本身

D

静态成员

17

使用this调用其他构造方法时,必须放在什么位置?

A

构造方法最后一行

B

构造方法第一行

C

构造方法中间

D

任意位置

18

封装的主要目的是什么?

A

提高代码执行效率

B

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

C

减少代码量

D

简化代码结构

19

类和对象的关系是什么?

A

类是对象的实例

B

对象是类的模板

C

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

D

类和对象是同一概念

20

静态方法可以直接访问非静态成员吗?

A

可以

B

不可以,需要通过对象访问

C

只能访问静态成员

D

自动转换

21

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

A

栈内存

B

堆内存

C

方法区

D

寄存器

22

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

A

提高程序效率

B

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

C

简化代码

D

创建对象

23

public修饰的成员可以在哪里被访问?

A

只能在本类中访问

B

只能在同包中访问

C

只能在子类中访问

D

可以在任何地方访问

24

要使用其他包中的类,需要做什么?

A

不需要任何操作

B

使用import关键字导入

C

使用extends继承

D

使用implements实现

25

new Person()执行时会做什么?

A

只创建对象

B

只调用构造方法

C

创建对象并调用构造方法初始化

D

不做任何操作

26

封装主要通过什么机制实现?

A

继承

B

访问修饰符(如private)

C

多态

D

27

以下代码会发生什么?

Java
class A {
    protected void method() { }
}
class B extends A {
    private void method() { } // 重写时降低权限
}
A

编译正常

B

编译错误,重写不能降低访问权限

C

运行错误

D

method被隐藏

28

以下代码的输出顺序是什么?

Java
class Parent {
    Parent() { System.out.print("P"); }
}
class Child extends Parent {
    Child() { System.out.print("C"); }
}
new Child();
A

PC

B

CP

C

P

D

C

多选题
29

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

A

封装

B

继承

C

多态

D

抽象

简答题
30

请简述面向对象的三大基本特性,并说明它们之间的关系。

参考答案
1.错误 2.正确 3.正确 4.正确 5.正确 6.正确 7.正确 8.B 9.B 10.B 11.B 12.A 13.B 14.B 15.C 16.B 17.B 18.B 19.C 20.B 21.B 22.B 23.D 24.B 25.C 26.B 27.B 28.A 29.A; B; C 30.
想在手机上练习这套专题?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一个专题 设计模式专题
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码