得到一个类的某个对象并在另一个类中使用

时间:2018-11-22 12:28:43

标签: java

我想使用一个类的某个对象并在其他类中使用,但是我不能 例如 : 第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;
    }
}

5 个答案:

答案 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());