57. Java 类和对象 - 使用对象
使用对象
创建对象后,接下来的任务是如何使用它们。你可能会访问对象的字段、修改它们,或者调用对象的方法来执行某些操作。这部分我们就来详细探讨这些常见的对象操作方式!
🎯 引用对象的字段
对象的字段可以通过字段名访问,但访问的方式取决于你是在对象的内部还是外部。
- 在对象自身的类中,可以直接使用字段名访问字段。
- 在对象类之外,则需要使用对象引用,通过点运算符 (
.) 访问字段。
示例:
System.out.println("Width of rectOne: " + rectOne.width);
System.out.println("Height of rectOne: " + rectOne.height);
⚠️ 注意! 如果你尝试在 CreateObjectDemo 类中直接使用 width 和 height,而不是 rectOne.width 和 rectOne.height,编译器会报错,因为这些字段属于具体的对象,而不是当前类。
对象字段的独立性
即使是相同类型的对象,它们的字段也是独立的。比如:
Rectangle rectOne = new Rectangle(100, 200);
Rectangle rectTwo = new Rectangle(50, 100);
rectOne 和 rectTwo 各自拥有自己的 width、height 和 origin,互不干扰。
通过表达式访问字段
你还可以使用表达式返回的对象引用来访问字段。例如:
int height = new Rectangle().height;
这段代码创建了一个新的 Rectangle 对象,然后直接获取它的高度。但因为没有保存这个对象的引用,执行完这句代码后,这个对象会成为未引用对象,等待垃圾回收机制回收。
🚀 调用对象的方法
访问字段是一种静态的操作,而调用方法则是让对象“动”起来!
调用对象方法的语法为:
objectReference.methodName(argumentList);
或者:
objectReference.methodName();
在 Rectangle 类中,我们有两个方法:
getArea():计算矩形的面积move(int x, int y):移动矩形的位置
示例:
System.out.println("Area of rectOne: " + rectOne.getArea());
rectTwo.move(40, 72);
调用新对象的方法
你甚至可以直接用 new 创建对象并立即调用它的方法:
new Rectangle(100, 50).getArea();
这里:
new Rectangle(100, 50)创建一个矩形对象。.getArea()计算它的面积。
使用返回值
如果方法有返回值,比如 getArea(),你还可以把结果赋值给变量、用在条件判断中等:
int areaOfRectangle = new Rectangle(100, 50).getArea();
这段代码先创建了一个宽100、高50的矩形对象,然后获取它的面积并保存到 areaOfRectangle 中。