对象的引用和实体、类与程序的基本结构
对象的引用和实体
类是体现封装的一种数据类型,类所声明的变量被称为对象。new运算符的作用就是为对象分配变量,即分配内存。对象本身负责存放引用,以确保对象可以操作分配给该对象的变量以及调用类中的方法。分配给对象的变量被习惯性称作对象的实例。
-
避免使用空对象
没有实体的对象称作空对象,空对象不能使用。
-
重要结论
一个类创建得两个对象,如果具有相同的引用,那么就具有相同的实体。
-
垃圾收集
周期性地检测某个实体是否已不再被任何对象所拥有,如果发现这样的实体,就释放实体占用的内存。
Point p1=new Point(5,15) Point p2=new Point(8,18)
那么内存模型如图所示
假如在程序中使用了如下的赋值语句:
p1=p2;
Example4_4.java
class Point{
int x,y;//成员变量:
Point(int a,int b){//定义构造方法
this.x=a;//成员变量;横纵坐标
this.y=b;
}
}//结束点类的定义
public class Example4_4 {
public static void main(String[] args) {
Point p1,p2;//声明两个点对象,引用型变量。
p1=new Point(5,6);//创建一个点对象
p2=new Point(12,56);
System.out.println("p1的引用是:"+p1);
System.out.println("p2的引用是:"+p2);
System.out.println("p1的坐标是:("+p1.x+","+p1.y+")");
System.out.println("p1的坐标是:("+p2.x+","+p2.y+")");
p1=p2;
System.out.println();
System.out.println("执行P2赋予P1后:");
System.out.println("p1的引用是:"+p1);
System.out.println("p2的引用是:"+p2);
System.out.println("p1的坐标是:("+p1.x+","+p1.y+")");
System.out.println("p1的坐标是:("+p2.x+","+p2.y+")");
}
}
类与程序的基本结构
Example4_5.java
代码示例:
//定义一个矩形
public class Rect {
double width,height;//定义矩形的属性:宽、高
double computerArea() {//定义计算面积的方法
return width*height;
}
}
//定义一个梯形
public class Lader {
double above,buttom,height;//定义梯形的属性:上底、下底、高
double computerArea() {
return (above+buttom)*height;
}
}
//定义主类,用于测试
public class App {
public static void main(String[] args) {
Rect rect=new Rect();//声明一个矩形对象,并创建,该类是与本类不在同一个文件中。
rect.height=2;
rect.width=4;
double area=rect.computerArea();
System.out.println("矩形对象rect的面积="+area);
Lader lader = new Lader();
lader.above=2;
lader.buttom=3;
lader.height=4;
area=lader.computerArea();
System.out.println("梯形对象lader的面积="+area);
}
}
运行结果:
本文来自博客园,作者:涂勇军,转载请注明原文链接:https://www.cnblogs.com/tuyongjun/p/16186481.html