这是一个方法(java)吗?
还是在学习Java的早期阶段,我在一些我不理解的代码中看到了以下内容:这是一个方法(java)吗?,java,Java,还是在学习Java的早期阶段,我在一些我不理解的代码中看到了以下内容: public class sprite { private Image image; public Sprite(Image image) { this.image = image; } 我不是要解释代码在做什么,我只是好奇什么是公共精灵。。。是这是某种方法吗?它不声明返回类型,也不是void 谢谢你的回复。对代码实际执行的解释可能超出我的理解,我只是想知道语言结构。假设
public class sprite {
private Image image;
public Sprite(Image image) {
this.image = image;
}
我不是要解释代码在做什么,我只是好奇什么是公共精灵。。。是这是某种方法吗?它不声明返回类型,也不是void
谢谢你的回复。对代码实际执行的解释可能超出我的理解,我只是想知道语言结构。假设您有一个输入错误,即假设第一行实际上是公共类Sprite{,那么这就是。它用于初始化Sprite类型的对象,所以它不返回任何内容,所以它不是一个方法 当您执行以下操作时会调用它:
Image image = ...;
Sprite s = new Sprite(image); // Constructor called here
[如果您没有输入错误,那么它就不是构造函数,它只是一个无效的Java。]它是一个构造函数。它是一个特殊的方法,实例化类的对象;通常它会设置值,初始化其使用的任何内部对象。对于一个类,您可以有多个具有不同签名的构造函数 在这种情况下,构造函数是公共的,并将对象的image属性初始化为传递给构造函数的映像 更多信息,请参见。这是一个构造函数
它允许您从参数创建Sprite类的实例。这称为构造函数。这不是方法 更多解释请参见:。
祝你好运;公共SpriteMageImage是类Sprite的构造函数。它执行任何可能需要在创建类实例时执行的设置,就像使用“new”关键字时一样,在本例中,将image实例变量设置为构造函数中调用方传递的变量。在java中,一种h不声明返回类型,它的名称与被称为构造函数的类的名称相同。它是在创建新对象时被调用的方法
public class Foo {
private int bar;
public Foo(int arg) {
this.bar = arg;
}
}
Foo f = new Foo(1);
将创建一个新的Foo实例,并将其内部变量bar设置为1,这是一个构造函数。请注意,你应该大写类Sprite的第一个字母,这是一个对象构造函数。你真的应该从学习基本知识开始…我不确定为什么这个问题被否决…@OliCharlesworth-我在犹豫。第一个原因是li支持否决投票是一项研究工作。这不符合要求吗?这是Java和OOP最基本的原则之一。如果有人发布了一个问题,说“如果做了什么?`你会反对吗?@BrianRoach:很可能。但是,这比这种语法更容易在谷歌上实现。