在JAVA中,对象是类的一个实例.下面给出一个示例并分析:
//创建类Point,代表一个有着x座标和y座标的点
class Point {
public int x = 0;
public int y = 0;
// 构造器
public Point(int a, int b) {
x = a;
y = b;
}
}
//创建类Rectangle,代表一个矩形
class Rectangle {
public int width = 0;
public int height = 0;
public Point origin;
// 四个构造器
public Rectangle() {
origin = new Point(0, 0);
}
public Rectangle(Point p) {
origin = p;
}
public Rectangle(int w, int h) {
origin = new Point(0, 0);
width = w;
height = h;
}
public Rectangle(Point p, int w, int h) {
origin = p;
width = w;
height = h;
}
// 移动矩形的方法
public void move(int x, int y) {
origin.x = x;
origin.y = y;
}
// 计算矩形面积的方法
public int getArea() {
return width * height;
}
}
//主类,含有main方法
public class CreateObjectDemo {
public static void main(String[] args) {
//声明并创建一个座标点对象和两个矩形对象
Point originOne = new Point(23, 94);
Rectangle rectOne = new Rectangle(originOne, 100, 200);
Rectangle rectTwo = new Rectangle(50, 100);
//显示rectOne的宽、高和面积
System.out.println("rectOne的宽是: " + rectOne.width);
System.out.println("rectOne的高是: " + rectOne.height);
System.out.println("rectOne的面积是: " + rectOne.getArea());
//设置rectTwo的位置
rectTwo.origin = originOne;
//显示rectTwo的位置
System.out.println("rectTwo的X座标是: " + rectTwo.origin.x);
System.out.println("rectTwo的Y座标是: " + rectTwo.origin.y);
//移动rectTwo并显示它的新位置
rectTwo.move(40, 72);
System.out.println("rectTwo的X座标是:" + rectTwo.origin.x);
System.out.println("rectTwo的Y座标是:" + rectTwo.origin.y);
}
}
1.创建对象的语法:
创建对象的语法由三部分组成:
1).声明:赋值符号(=)左边的代码都是变量声明.如
Point originOne = new Point(23, 94);
2).实例化:
关键字new用来创建一个新的对象;
3).初始化:
new运算符后面跟一个构造器的调用,由构造器来初始化新的对象.
2.构造器
一个类可以有多个构造器,但是至少也要有一个.当有多个构造器的时候,JAVA虚拟机根据方法签名来区分.如上述的Rectangle类.
3.访问对象的元素:
对象的元素包括字段、方法.
3-1.字段:
和C语言中struct引用内部成员一样.JAVA平台访问对象字段的形式如下:
objectReference.fieldName
如上述:
System.out.println("rectOne的宽是: " + rectOne.width);
3-2.方法:
和C语言中struct引用内部成员一样.JAVA平台访问对象字段的形式如下:
对象名称.方法名称(参数列表);
如上述:
System.out.println("rectOne的面积是: " + rectOne.getArea());
4.垃圾回收机制
主要是JAVA运行环境会作出判断,对不再被引用的对象进行销毁的动作.这样做的好处是程序员不必对所创建的对象实现跟踪--当对象不再被引用时显式销毁,这样JAVA程序员就不会涉及到乏味的内存管理.