Java 类与对象实战解析:Point类的实现与应用
一、原题完整代码呈现
以下是计算机二级Java考试中关于类与对象基础的典型题型,主要考察对象创建、类的成员变量、构造方法和重写toString方法,包含4处需要填写的空白(标记为//*********Found**********
):
public class Java_2 {
public static void main(String[ ] args) {
Point pt;
//*********Found**********
pt = _____________ Point(2, 3);
System.out.println(pt);
}
}
class Point {
//*********Found**********
private _____________;
private int y;
//*********Found**********
public _____________ (int a, int b) {
x = a;
y = b;
}
int getX( ) {
return x;
}
int getY( ) {
return y;
}
void setX(int a) {
x = a;
}
void setY(int b) {
y = b;
}
//*********Found**********
public String _____________ ( ) {
return "( " + x + "," + y + " ) ";
}
}
二、空白处逐一解析与解答
1. 第一处空白:创建对象实例
答案:new
//*********Found**********
pt = new Point(2, 3);
解析:
在Java中,创建对象必须使用new
关键字,后跟类名和构造方法参数。此处需要实例化Point
类,传入坐标(2,3),因此填写new
,完成对象的创建并赋值给引用变量pt
。
2. 第二处空白:定义成员变量x
答案:int x
//*********Found**********
private int x;
private int y;
解析: Point
类表示点的坐标,需要两个成员变量存储x和y坐标。从后续代码(如x = a
、return x
)可知,缺失的是x坐标的定义。变量类型为int
,访问修饰符为private
(与y保持一致),因此填写int x
。
3. 第三处空白:定义构造方法
答案:Point
//*********Found**********
public Point (int a, int b) {
x = a;
y = b;
}
解析:
构造方法是用于初始化对象的特殊方法,名称必须与类名完全一致,且没有返回值类型。Point
类的构造方法需要接收两个参数(a和b),分别赋值给x和y,因此方法名应为Point
。
4. 第四处空白:重写toString方法
答案:toString
//*********Found**********
public String toString ( ) {
return "( " + x + "," + y + " ) ";
}
解析: System.out.println(pt)
打印对象时,会自动调用对象的toString()
方法。默认的toString()
方法返回类名+哈希码,此处需要重写该方法以返回坐标字符串(x,y)
,因此方法名为toString
。
三、完整正确代码
四、程序功能与运行说明
程序功能
该程序实现一个表示二维坐标点的Point
类,核心功能包括:
- 存储点的x和y坐标(私有成员变量)
- 通过构造方法初始化坐标值
- 提供获取和修改坐标的方法(getter和setter)
- 重写
toString()
方法,以友好格式显示坐标 - 在主程序中创建点对象并打印其信息
运行说明
- 程序运行后,主方法中创建
Point
对象pt
,坐标为(2, 3) - 执行
System.out.println(pt)
时,会调用Point
类重写的toString()
方法 - 输出结果为:
( 2, 3 )
五、核心知识点总结
对象的创建与实例化
- 语法格式:
类名 引用变量 = new 构造方法(参数)
- 执行过程:
new
关键字分配内存空间,构造方法初始化对象,最后将引用赋值给变量 - 注意事项:必须使用
new
创建对象(除基本类型外),否则引用变量为null
- 语法格式:
类的成员变量
- 定义规则:
访问修饰符 数据类型 变量名
- 封装原则:使用
private
修饰符隐藏内部数据,通过getter/setter方法访问和修改(如getX()
、setX()
) - 命名规范:成员变量通常为小写字母开头,如
x
、y
- 定义规则:
构造方法
- 特性:名称与类名相同,无返回值类型,用于对象初始化
- 作用:为成员变量赋初始值,确保对象创建时处于有效状态
- 默认构造:如果未定义构造方法,编译器会自动生成无参构造方法;一旦定义了构造方法,默认构造方法会失效
toString()方法重写
- 父类方法:
Object
类是所有类的父类,其toString()
方法默认返回类名@哈希码
- 重写意义:提供对象的字符串表示形式,便于打印和调试
- 重写规则:返回
String
类型,方法声明为public String toString()
- 父类方法:
六、常见错误与应试技巧
常见错误分析
- 第一处空白遗漏
new
:直接写pt = Point(2,3)
,忘记new
会导致编译错误,Java中创建对象必须使用new
- 第二处空白变量定义错误:写成
int x
但缺少private
修饰符,或类型错误(如String x
) - 第三处空白构造方法名错误:写成
point
(小写p)或Point()
参数不匹配,构造方法名必须与类名完全一致 - 第四处空白方法名错误:写成
toStr
或ToString
(大小写错误),toString()
是固定方法名
- 第一处空白遗漏
应试技巧
- 对象创建口诀:"new关键字不能少,类名后面跟构造"
- 成员变量定义:"私有变量要隐藏,get/set来访问"
- 构造方法记忆:"与类同名无返回,初始化时显神威"
- toString重写:"打印对象要友好,toString重写不能少"
通过本题,我们掌握了Java类与对象的基本概念,包括对象创建、成员变量封装、构造方法和toString()
方法重写。这些是面向对象编程的基础,在实际开发中,所有Java程序都是由类和对象组成的。理解类的结构和对象的生命周期,对掌握面向对象编程思想具有重要意义。