如何在Java中创建正确的实例?

问题描述 投票:1回答:2

我正在学习Java,并在stackoverflow上找到了this文章。

所以有两个类:

public class Image {

...

    public Image clone() {
        Image clone = new Image(getMagicNumber(), getHeight(), getWidth(), getMax());
        for (int i = 0; i < getHeight(); i++){

            for (int j = 0; j < getWidth(); j++){
                clone.setPixel(getPixel(i, j), i, j);
             }
        }
        return clone;
    }
}

而且还有这个课程:

public class Filter {

    public Filter() {

    }

    public Image linearFilter(Image image, float[][] kernel) {
        Image filtered = image.clone();

        ...

         return filtered;
    }
}

我习惯用X instancename = new X();创建一个实例,其中X是该类的名称。是否有不同的方法来创建实例?例如在Filter类中:Image filtered = image.clone();如何创建实例?为了创建一个实例,我想在“等式”的两边X必须是相等的。我的意思是:Image filtered = new Image();。我不明白Image filtered = image.clone();是如何创建一个新实例的。谁能解释一下?

java methods constructor instance
2个回答
1
投票
Image filtered = image.clone();

是一样的

Image filtered = new Image();

你可以看到qazxsw poi是你的类的一种方法,它返回类clone()的qazxsw poi

但是当你想只创建一个类的实例时,使用像instance这样的方法来支持实例,你可以创建类Image的实例,并使用公共方法返回它。


1
投票

class:Image filtered如何= image.clone();创建一个实例?

它正在创建一个实例,你可以看到方法clone()返回类型public and final,该方法的第一行显示:

clone()

在这个方法的最后,Image被返回,这是逻辑

我希望它有所帮助

© www.soinside.com 2019 - 2024. All rights reserved.