我想使用一个类的某个对象并在其他类中使用,但是我不能 例如 : 第1类:
public class Value {
private double radious;
private double lenght;
public void setRadious(double radious) {
this.radious = radious;
}
public void setLenght(double lenght) {
this.lenght = lenght;
}
}
问题:我怎样才能仅在第二堂课中使用第一堂课的放射状??
第2类:
public class calculateArea
{
private Value value;
public double area()
{
return 3.14*radious*radious;
}
}
答案 0 :(得分:0)
为这两个值创建吸气剂,并在第二堂课中访问它们。
类似
public double getRadious() {
return this.radious;
}
public double getLenght() {
return this.lenght;
}
答案 1 :(得分:0)
在进行OOP时,问自己什么代码在哪里以及必须制作多少个类? 对于您的方案,可以使用聚合或组合,即在另一个类中声明一个类的对象,然后可以使用带有getter setter方法的点表示法来调用已声明对象的方法。所以它会像这样。
public class Value
{
private double radious;
private double lenght;
public void setRadious(double radious)
{
this.radious = radious;
}
public double getRadious() {
return this.radious;
}
public double getLenght() {
return this.lenght;
}
public void setLenght(double lenght)
{
this.lenght = lenght;
}
}
Class # 2
public class calculateArea
{
private Value value = new Value();
public calculateArea(double rad) {
value.setRadius(rad);
}
public double area()
{
return 3.14*value.getRadious()*value.getRadious();
}
}
此外,在使用半径之前,您需要设置它的值。
答案 2 :(得分:-1)
使吸气剂达到半径:
public double getRadious(){
return radious;
}
在“主类”中:
Value v = new Value();
v.setRadious(2.5);/*Set the Radious value*/
public double area()
{
return 3.14*v.getRadious()*v.getRadious();
}
答案 3 :(得分:-1)
将吸气剂添加到Value类中。
public class Value {
public double radious;
public double lenght;
public void setRadious(double radious) {
this.radious = radious;
}
public void setLenght(double lenght) {
this.lenght = lenght;
}
public double getLenght() {
return this.lenght;
}
public double getRadious() {
return this.radious;
}
}
成为第1类的实例
public class calculateArea{
public Value;
calculateArea(){
value = new Value();
}
public double area(){
value.setRadious(2.34);//or set ACCORDINGLY
return 3.14 * value.radious * value.radious;
}
}
答案 4 :(得分:-1)
声明值类的获取器和设置器:
public class Value {
private double radious;
private double lenght;
public Value(double radious, double length) {
this.radious = radious;
this.length = length;
}
public void setRadious(double radious) {
this.radious = radious;
}
public void setLenght(double lenght) {
this.lenght = lenght;
}
public double getRadious() {
return this.radious;
}
public double getLength() {
return this.length;
}
}
使用一些变量实例化对象:
Value value = new Value(2.0,3.0);
将构造方法添加到CalculateArea类:
public class calculateArea {
private Value value;
public calculateArea(Value value) {
this.value = value;
}
public double area()
{
return 3.14*value.getRadious()*value.getRadious();
}
}
实例化:
calculateArea cArea= new calculateArea(value);
并使用main()
方法将结果打印到控制台:
System.out.println(cArea.area());