Java-从方法返回对象

时间:2020-02-23 14:36:49  来源:igfitidea点击:

在本教程中,我们将学习如何从Java编程语言中的方法返回类的对象。

在上一个教程中,我们学习了如何将对象作为参数传递给方法。

现在,让我们继续创建一个将返回对象的类。

例子

在下面的例子中,我们有 Cube类并在调用其方法时返回一个对象。

class Cube {
  //variable
  private double side;
  private double volume;
  //constructor
  Cube(double side) {
    this.side = side;
  }
  //method
  public Cube getObject() {
    Cube obj = new Cube(this.side);
    this.volume = this.side * this.side * this.side;
    obj.volume = this.volume;
    return obj;
  }
  public double getVolume() {
    return this.volume;
  }
  public double getSide() {
    return this.side;
  }
}
public class ReturnObjectExample {
  public static void main(String[] args) {
    //create first object
    Cube obj1 = new Cube(10);
    //now create second object using the first object
    Cube obj2 = obj1.getObject();
    //output
    System.out.println("Object #1");
    System.out.println("Side: " + obj1.getSide());
    System.out.println("Volume: " + obj1.getVolume());
    System.out.println("Object #2");
    System.out.println("Side: " + obj2.getSide());
    System.out.println("Volume: " + obj2.getVolume());
    
  }
}
$javac ReturnObjectExample.java 
$java ReturnObjectExample
Object #1
Side: 10.0
Volume: 1000.0
Object #2
Side: 10.0
Volume: 1000.0

因此,在上面的示例中,我们有一个Cube类,我们通过构造函数设置了Cube的边。

现在,在ReturnObjectExample类中,我们正在创建第一个对象 obj1并传递了side 10,因此,side是通过构造函数初始化的。

接下来,我们创建另一个多维数据集变量 obj2调用 getObject()方法 obj1返回多维数据集类的对象。

然后我们打印出对象的值。

方法返回对象的引用

当我们编写以下代码时 Cube obj2 = obj1.getObject();在上面的示例中,调用的方法 getObject()属于 obj1对象正在返回新创建的对象的引用。

所以, obj2正在获取新创建对象的引用。