" private static double readDouble(String prompt){
String numStr = JOptionPane.showInputDialog(prompt);
return Double.parseDouble(numStr);
}
//---这个地方我不太理解,为什么要写成Static的形式?另外,这里的prompt定义为String类型,但是如何变为数字存储在numStr里呢?
这也是我不理解关于class method 与 instance method 区别的地方。可能是我对有些概念还是比较糊涂。
"---用static来修饰方法的原因很多,一是使用方便(不用生命实例),二是此方法不应该依赖于实例...其他的暂时没想到,想到再说
prompt是String类型的,numStr还是String类型的,
String numStr = JOptionPane.showInputDialog(prompt);
这一句做了什么事情,你可以暂时不用管它,你只要明白JOptionPane.showInputDialog接受了一个String类型并且返回了一个String类型,并且showInputDialog是一个static方法,因为它没有声明实例就可以用
同样Double.parseDouble也是一个static方法,作用是接受一个String类型的数据并返回一个double类型的数据"
private Circle inner; ----// 这里,为什么会这样写?
private Circle outer; ----// 这里,为什么会这样写?
"
---inner和outer都是Circle类型的变量,当然可以这样写,这就是常说的类的实例,inner就是Circle的一个实例(instance )
"
public void setInner(double inRadius){
inner = new Circle(inRadius);
}-----//这里也不太明白,为什么这么写呢? 这样可以吗? Circle inner = new Circle(outRadius); 有什么区别吗?"---前面已经声明了 “private Circle inner” 所以,inner是该类的类变量,在所有的方法里都有效
你如果换成Circle inner = new Circle(outRadius);那么inner的就是方法setInner的局部变量,此时,两个inner就不是同一个变量了"
public Circle(){} --- //这里,是什么意思?
"
---这是类的不带参数的构造方法,所以它没有返回值
String numStr = JOptionPane.showInputDialog(prompt);
return Double.parseDouble(numStr);
}
//---这个地方我不太理解,为什么要写成Static的形式?另外,这里的prompt定义为String类型,但是如何变为数字存储在numStr里呢?
这也是我不理解关于class method 与 instance method 区别的地方。可能是我对有些概念还是比较糊涂。
"---用static来修饰方法的原因很多,一是使用方便(不用生命实例),二是此方法不应该依赖于实例...其他的暂时没想到,想到再说
prompt是String类型的,numStr还是String类型的,
String numStr = JOptionPane.showInputDialog(prompt);
这一句做了什么事情,你可以暂时不用管它,你只要明白JOptionPane.showInputDialog接受了一个String类型并且返回了一个String类型,并且showInputDialog是一个static方法,因为它没有声明实例就可以用
同样Double.parseDouble也是一个static方法,作用是接受一个String类型的数据并返回一个double类型的数据"
private Circle inner; ----// 这里,为什么会这样写?
private Circle outer; ----// 这里,为什么会这样写?
"
---inner和outer都是Circle类型的变量,当然可以这样写,这就是常说的类的实例,inner就是Circle的一个实例(instance )
"
public void setInner(double inRadius){
inner = new Circle(inRadius);
}-----//这里也不太明白,为什么这么写呢? 这样可以吗? Circle inner = new Circle(outRadius); 有什么区别吗?"---前面已经声明了 “private Circle inner” 所以,inner是该类的类变量,在所有的方法里都有效
你如果换成Circle inner = new Circle(outRadius);那么inner的就是方法setInner的局部变量,此时,两个inner就不是同一个变量了"
public Circle(){} --- //这里,是什么意思?
"
---这是类的不带参数的构造方法,所以它没有返回值
private Circle inner; ----// 这里,为什么会这样写?
private Circle outer; ----// 这里,为什么会这样写?
"
---inner和outer都是Circle类型的变量,当然可以这样写,这就是常说的类的实例,inner就是Circle的一个实例(instance )应该是一个引用,并没有真正的实例化
我觉得你对类方法和实例方法以及默认构造函数等知识还比较模糊,说不你的基本功还不算扎实,建议你看看核心技术或候捷编程思想!