繁体   English   中英

这东西是方法(java)吗?

[英]Is this thing a method(java)?

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

public class sprite {
     private Image image;

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

我不是要解释代码的作用,我只是想知道什么是“公共Sprite(...)。这是某种方法吗?它没有声明返回类型,并且它不是无效的。

感谢您的任何答复。 我只是想了解有关语言结构的问题,实际上可能是对代码真正在做什么的解释。

假设您有一个错字(即假设第一行实际上是public class Sprite { ),那么这就是一个构造函数 它用于初始化Sprite类型的对象,因此它不返回任何内容,因此不是方法。

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

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

[如果您没有输入错误,则说明它不是构造函数,只是无效的Java。]

在Java中,不声明返回类型且名称与类相同的类方法称为构造函数。 当您创建新对象时,将调用该方法。

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

Foo f = new Foo(1);

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

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

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

有关更多信息, 请参见本文档

那是一个构造函数。

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

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

此处提供更多说明: http : //docs.oracle.com/javase/tutorial/java/javaOO/constructors.html 还有祝你好运 ;)

public Sprite(Image image)Sprite类的构造函数。 它会在创建类实例时(例如当您使用“ new”关键字时)进行任何可能需要完成的设置,在这种情况下,将image实例变量设置为构造函数中调用者传递的变量。

它是一个构造函数。 注意,您应该将Sprite类的首字母大写

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM