这是一个方法(java)?

时间:2012-01-15 20:26:58

标签: java

仍处于学习Java的早期阶段,我在一些我不理解的代码中看到了以下内容:

public class sprite {
     private Image image;

     public Sprite(Image image) {
          this.image = image;
     }

我不是要求解释代码在做什么,我只是好奇什么是“公共Sprite(......”)。它是某种方法吗?它没有声明返回类型和它不是无效的。

感谢您的回复。实际上解释代码实际上在做什么可能是我想知道的语言结构。

7 个答案:

答案 0 :(得分:5)

假设你有一个拼写错误(即假设第一行实际上是public class Sprite {),那么这就是constructor。它用于初始化类型为Sprite的对象,因此它不返回任何内容,因此它不是方法。

当您执行以下操作时调用它:

Image image = ...;
Sprite s = new Sprite(image);  // Constructor called here

[如果你没有拼写错误,那么它不是构造函数,它只是无效的Java。]

答案 1 :(得分:3)

在java中,一个不声明返回类型并且与该类具有相同名称的类方法称为构造函数。这是在创建新对象时调用的方法。

public class Foo {
    private int bar;
    public Foo(int arg) {
        this.bar = arg;
    }
}

Foo f = new Foo(1);

会创建Foo的新实例并将其内部变量bar设置为1

答案 2 :(得分:1)

这是一个构造函数。它是一种实例化类对象的特殊方法;通常它会设置值,初始化它使用的任何内部对象。对于类,可以有多个具有不同签名的构造函数。

在这种情况下,构造函数是public,并将对象的image属性初始化为传递给构造函数的图像。

更多信息,see this documentation

答案 3 :(得分:1)

那是构造函数。

它允许您从参数创建Sprite类的实例。

答案 4 :(得分:1)

这称为构造函数。这不是一种方法。

此处有更多解释:http://docs.oracle.com/javase/tutorial/java/javaOO/constructors.html。 祝你好运;)

答案 5 :(得分:1)

public Sprite(Image image)是类Sprite的构造函数。它可以在任何时候创建类的实例时进行任何设置(例如,当您使用'new'关键字时),在这种情况下,将image实例变量设置为由构造函数中的调用者。

答案 6 :(得分:1)

这是一个构造函数。请注意,您应该将类​​Sprite的第一个字母大写