java 中 小程序看不懂,帮忙解释一下

来源:百度知道 编辑:UC知道 时间:2024/05/22 13:35:43
这是我在书上看到的实例,看不懂,请高手帮我逐条解释一下
package chapter7
public class Sphere
{
private static double PI=3.14; //1.是定义类变量

private double radius;
private double xCenter;
private double yCenter;
private double zCenter; //2.定义实例变量
public Sphere(double r,double x,double y,double z)
{
this.radius =r;
this.xCenter =x;
this.yCenter =y;
this.zCenter=z;
} //3.这段看不懂是是什么,定义的方法么?还有为什么要用this,指代什么呢。
public double getVolume()
{
double r = this.radius; //4.这是定义变量么,那后面赋值为什么是this.radius, 它和前面那一块this.radius=r这个有什么不一样,为什么这两个this.radius在等号的左右位置不一样
System.out.println("当前r值"+r);
double volume = 4/3*PI*r*r*radius; //5.这是求球体的体积不是r的立方可以了么,为什么两个r后要来一个radius,这个radius是前面定义的实例变量么
return volume;
}
public double getVolume(double radius)
{
this.radius= radius;
double volume = 4/3*PI*this.radius*this.radius*ra

//3.这段看不懂是是什么,定义的方法么?还有为什么要用this,指代什么呢。
你注释这的是构造方法,这的this可以省去,指明this后面的属性是这个类本身的属性,构造方法主要是用来赋初值的
//4.这是定义变量么,那后面赋值为什么是this.radius, 它和前面那一块this.radius=r这个有什么不一样,为什么这两个this.radius在等号的左右位置不一样
你这的注释,this和上面意思一样,这句话是说,把这个类的radius的值
赋给局部变量r,所以在右面,而在上面的构造方法中是把参数的值赋给属性
//关于你第5个注释,体积公式为4/3 *PI*r*r*r(立方) 由于在注释4中r=radius所以在这r和radius可以互换
//6 恭喜你,这就是方法的重载,他可以为你提供很多便利,你的观察完全正确

ÏÒæÄÇへつ

定义的是 getVolume() 求体积方法

this 是指自己啊
像 this.radius 就是指自己的半径
如 Sphere globe = new Sphere(4,2,3,0);
那么 globe 中 getVolume() 里 this.radius 就是 4

然后 r= this.radius 就把 半径 4 赋值给了 r,因此后面那个体积其实就是 4/3 * PI * r*r*r,人家在忽悠初学者呢!!!

后面的 getVolume(double radius)
就是给定你一个 半径,要你求他的体积, globe.getValume(5) 就可以获取到 半径为 5 的球体体积。。。。

汗。。。。 这号问题。。。。这种程序在做什么哦。。。

3.不是定义的方法,是用定义的变量接收函数里传过来的变量值,this相当于定义的Sphere类变量,因为只有类变量才能调用自己里面的变量和函数
4.是在定义变量的同时,也给变量赋了值,它的值就是上面this.radius的值

因为变量radius;xC