Java练习题 · 面向对象基础篇
- 1️⃣ 面向对象基础篇
1️⃣ 面向对象基础篇
一、填空题
- 面向对象的三大特征:_______ 、_______ 、_______。
- 类由_______和_______组成。
- 运算符_______的作用是根据对象的类型分配内存空间。当对象拥有内存空间时,会自动调用类中的_______为对象_______。
- 使用_______修饰的类成员称为私有成员。私有成员只能在_______中使用。
- 构造方法的名称与_______相同。
- _______关键字可以让类中的属性和方法对外部不可见。
this
关键字可以调用本类中的_______ 、_______ 、_______,调用_______时必须放在_______的首行。- 在 Java 中数组排序的方法是______________。
二、 选择题
-
如果希望方法直接通过类名称访问,在定义时要使用的修饰符是( )。
A. static
B. final
C. abstract
D. this -
如果类中没有定义构造方法,系统会提供 一 个默认的构造方法。默认构造方法的特点是 ( )。
A. 无参数有操作
B. 有参数无操作
C. 既无参数也无任何操作
D. 有参数有操作 -
有一个类
Demo
, 对与其构造方法的正确声明是( )。
A. void Demo(int x){… }
B. Demo(int x){… }
C. Demo Demo(int x){… }
D. int Demo(){} -
以下关于面向对象概念的描述中,不正确的一项是( )。
A. 在现实生活中,对象是指客观世界的实体
B. 程序中的对象就是现实生活中的对象
C. 在程序中,对象是通过一种抽象的数据类型来描述的,这种抽象数据类型称为类 (class)
D. 在程序中,对象是一组变量和相关方法的集合 -
( )不属于面向对象程序设计的基本要素。
A. 类
B. 对象
C. 方法
D. 安全 -
下列程序的执行结果是( )。
public class TestDemo { public void fun(){ static int i=0; i++; System.out.println(i); } public static void main(String args[]){ TestDemo demo = new TestDemo(); demo.fun(; } }
A. 编译错误
B. 0
C. 1
D. 运行成功,但不输出 -
顺序执行下列程序语句后,则b 的值是 ( )。
String str = "Hello"; String b = str.substring(0,2);
A. Hello
B. hello
C. He
D. null
三、 判断题
- 没有实例化的对象不能使用。 ( )
- 不可以为类定义多个构造方法。 ( )
- 使用
static
声明的方法可以调用非static
声明的方法。 ( ) - 非
static
声明的方法可以调用static
声明的属性或方法。 ( ) - String对象可以使用==进行内容的比较。 ( )
- 垃圾是指无用的内存空间,会被垃圾收集机制回收。 ( )
- 构造方法可以有返回值类型的声明。 ( )
- 匿名对象是指使用一次的对象,使用之后将等待被垃圾回收。 ( )
- 使用
static
定义的内部类就成为外部类。 ( ) - 多个实例化对象之间不会互相影响,因为保存在不同的内存区域之中。 ( )
四、 简答题
- String 类的操作特点。
- 简述垃圾对象的产生。
static
方法如何调用? 非static
方法如何调用?- 类与对象的关系是什么? 如何创建及使用对象?
- 举例说明子类对象的实例化过程。
- 简述
this
与super
关键字的区别。
五、 编程题
- 编写并测试一个代表地址的
Address
类,地址信息由:国家,省份,城市,街道,邮编组成, 并可以返回完整的地址信息。 - 定义并测试一个代表员工的
Employee
类。员工属性包括“编号”、"姓名”、“基本薪水”、“薪水增长额”,还包括 “计算增长后的工资总额”的操作方法。 - 编写程序在将字符串 “
want you to know one thing
”, 统计出字母 “n
”和 字母 “o
”的出现次数。 - 设计一个
Dog
类,有名字、颜色、年龄等属性,定义构造方法来初始化类的这些属性,定义方法输出Dog
信息,编写应用程序使用Dog
类。 - 字符串操作。
(1)从字符串 “HELLO Java 技术学习20230713
” 中提取日期信息。
(2)将 “Hello JAVA 高端技术培训学习
”字符串中的 “Java
”替换为 “JAVA EE
”。
(3)取出 “Java 技术学习20230713
”中的第八个字符。
(4)清除 “Java 技术学习20230713
”中的所有“0
”。
(5)从任意给定的身份证号码中提取此人的出生日期。 - 编写一个银行账户类,类的构成包括:
(1)数据成员:用户的账户名称、用户的账户余额;
(2)方法包括:开户(设置账户名称及余额),利用构造方法完成;
(3)查询余额功能。