[英]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.