如果方法返回类型是自创类,会返回什么?

时间:2014-03-31 13:12:01

标签: java

这里我创建了Point类的返回类型。另外"返回"声明

  class Point{
    int x=2;
    int y=4;

  }

  class TwoPoint{

    public static void main(String args[]){
       Point obj1=new Point();
       Point obj2=new Point();
       System.out.println(obj1.x);
       System.out.println(obj2.y);

   }

       public Point newFunction(int a,int b){
       }


 }

1 个答案:

答案 0 :(得分:0)

这是Java的一个非常基本的概念,或者实际上是任何面向对象编程(OOP)语言,你可以在几乎每本书和教程中找到它。

但是,由于这个问题永远存在于互联网历史中,我将提供答案。

你的方法:

public Point newFunction(int a,int b){
}

必须返回一个Point对象,就像你在将返回类型设置为Point时告诉它一样。

这意味着它将返回一个Point对象。对象可以包含各种数据和方法等,因此您返回的不仅仅是intchar或其他任何内容。

我已经修改了你的代码,所以它实际上做了一些事情,这是你如何返回Point(或任何其他对象)以及这意味着什么的一个例子。

class Point{

    int x;
    int y;

    public Point(int a, int b){
        x = a;
        y = b;
    }
    public int getX(){
        return x;
    }
    public int getY(){
        return y;
    }
  }

  class TestCode{

    public static void main(String args[]){
       Point obj1 = new Point(1, 2);
       Point obj2 = newFunction();
       System.out.println(obj1.x + " " + obj1.y);
       System.out.println(obj2.getX() + " " + obj2.getY());
   }

       public static Point newFunction(){
           return new Point(9, 9);
       }    
 }

这将创建obj1及其带有x和y值的新Point。然后它创建obj2并将其设置为等于myFunction()返回的任何内容。因为我们知道myFunction() HAS要返回一个Point对象,所以这很有效。

然后myFunction()创建一个新的Point对象并使用值9和9.然后打印这些值以查看它们是如何受到影响的。