Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
这是一个方法(java)吗?_Java - Fatal编程技术网

这是一个方法(java)吗?

这是一个方法(java)吗?,java,Java,还是在学习Java的早期阶段,我在一些我不理解的代码中看到了以下内容: public class sprite { private Image image; public Sprite(Image image) { this.image = image; } 我不是要解释代码在做什么,我只是好奇什么是公共精灵。。。是这是某种方法吗?它不声明返回类型,也不是void 谢谢你的回复。对代码实际执行的解释可能超出我的理解,我只是想知道语言结构。假设

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

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:很可能。但是,这比这种语法更容易在谷歌上实现。