/*class Box //定义一个名为box的类
{
//给它定义了3个实例变量:width、height和depth
double width;
double height;
double depth;
}
class BoxDemo
{
public static void main(String[] args)
{
Box mybox =new Box(); //创建一个名为 mybox 的 Box对象<====> Box mybox; mybox = new Box();
double volume;
//给对象的成员变量赋值
mybox.width = 10;
mybox.height = 20;
mybox.depth = 15;
//计算对象mybox的体积
volume = mybox.width * mybox.height * mybox.depth;
System.out.println("volume 是 " + volume);
}
}*/
//每个对象都含有它自己的实例变量的拷贝,这些实例变量是由它的类定义的
/*以上的这句话应这样来理解:假设你有两个Box对象,每个对象都有其自己的 width、height 和 depth 拷贝。
改变一个对象的实例变量对另一个对象的实例变量没有任何的影响,理解这一点是很重要的。例如,下面的程序就定义了两个Box对象:*/
/*class Box //定义一个名为box的类
{
//给它定义了3个实例变量:width、height和depth
double width;
double height;
double depth;
}
class BoxDemo
{
public static void main(String[] args)
{
Box mybox1 = new Box(); //创建一个名为 mybox 的 Box对象
Box mybox2 = new Box();
double volume;
//给对象的成员变量赋值
mybox1.width = 10;
mybox1.height = 20;
mybox1.depth = 15;
mybox2.width = 14;
mybox2.height = 27;
mybox2.depth = 41;
//计算对象mybox的体积
volume = mybox1.width * mybox1.height * mybox1.depth;
System.out.println("volume 是 " + volume);
volume = mybox2.width * mybox2.height * mybox2.depth;
System.out.println("volume 是 " + volume);
//程序运行的结果显示:mybox1和mybox2的数据是完全分离的。
}
}*/
//下面为 Box 类添加一个方法
/*class Box //定义一个名为box的类
{
//给它定义了3个实例变量:width、height和depth
double width;
double height;
double depth;
//此方法用于显示盒子的体积
void volume(){
System.out.print("volume 是 " );
System.out.println(width * height * depth);
}
}
class BoxDemo
{
public static void main(String[] args)
{
Box mybox1 = new Box(); //创建一个名为 mybox 的 Box对象
Box mybox2 = new Box();
//给对象的成员变量赋值
mybox1.width = 10;
mybox1.height = 20;
mybox1.depth = 15;
mybox2.width = 14;
mybox2.height = 27;
mybox2.depth = 41;
//显示对象mybox1的体积
mybox1.volume();
//显示对象mybox2的体积
mybox2.volume();
//程序运行的结果与上面的程序运行后的结果是一致的。
}
}*/
//下面是用返回值 return 来对上面的程序 进行 进一步的改进
/*class Box //定义一个名为box的类
{
//给它定义了3个实例变量:width、height和depth
double width;
double height;
double depth;
//此方法用于显示盒子的体积
double volume(){
return width * height * depth;
}
}
class BoxDemo
{
public static void main(String[] args)
{
Box mybox1 = new Box(); //创建一个名为 mybox 的 Box对象
Box mybox2 = new Box();
double vol;
//给对象的成员变量赋值
mybox1.width = 10;
mybox1.height = 20;
mybox1.depth = 15;
mybox2.width = 14;
mybox2.height = 27;
mybox2.depth = 41;
//得到并显示对象mybox1的体积
vol = mybox1.volume();
System.out.println("volume 是 " + vol);
//得到并显示对象mybox2的体积
vol = mybox2.volume();
System.out.println("volume 是 " + vol);
//程序运行的结果与上面的程序运行后的结果是一致的。
}
}*/
//在程序中加入 带 自变量的方法,程序的运行结果不变
/*class Box //定义一个名为box的类
{
//给它定义了3个实例变量:width、height和depth
double width;
double height;
double depth;
//此方法用于显示盒子的体积
double volume(){
return width * height * depth;
}
//创建一个 自变量 用于 代表 盒子的尺寸 的方法
void setDim(double w,double h, double d){
width = w;
height = h;
depth = d;
}
}
class BoxDemo
{
public static void main(String[] args)
{
Box mybox1 = new Box(); //创建一个名为 mybox 的 Box对象
Box mybox2 = new Box();
double vol;
//对盒子的尺寸进行初始化
mybox1.setDim(10, 20, 15);
mybox2.setDim (14,27,41);
//得到并显示对象mybox1的体积
vol = mybox1.volume();
System.out.println("volume 是 " + vol);
//得到并显示对象mybox2的体积
vol = mybox2.volume();
System.out.println("volume 是 " + vol);
//程序运行的结果与上面的程序运行后的结果是一致的。
}
}*/
//用 带自变量的构造函数 完善上面的程序
class Box //定义一个名为box的类
{
//给它定义了3个实例变量:width、height和depth
double width;
double height;
double depth;
//此方法用于显示盒子的体积
double volume(){
return width * height * depth;
}
//创建一个构造函数
Box(double w,double h, double d){
width = w;
height = h;
depth = d;
}
}
class BoxDemo
{
public static void main(String[] args)
{
Box mybox1 = new Box(10, 20, 15); //创建一个名为 mybox 的 Box对象
Box mybox2 = new Box(14,27,41);
double vol;
//得到并显示对象mybox1的体积
vol = mybox1.volume();
System.out.println("volume 是 " + vol);
//得到并显示对象mybox2的体积
vol = mybox2.volume();
System.out.println("volume 是 " + vol);
//程序运行的结果与上面的程序运行后的结果是一致的。
}
}