Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.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 调用layoutiner';不创建对象的方法_Java_Android - Fatal编程技术网

Java 调用layoutiner';不创建对象的方法

Java 调用layoutiner';不创建对象的方法,java,android,Java,Android,我对这个代码感到困惑 在这里,他们使用抽象类并继承它,最重要的是,他们调用方法而不创建对象 附注:完整代码:-他们能够在不创建对象的情况下调用该方法,因为该方法是静态的。静态方法不是附加到类的实例,而是附加到类本身,因此您可以只调用它们而不创建新的对象 例如,如果你有 public class School { public String getName() { return name; } } 要调用它,您需要创建一个对象,这是有意义的,因为该方法用于获取特定

我对这个代码感到困惑 在这里,他们使用抽象类并继承它,最重要的是,他们调用方法而不创建对象


附注:完整代码:-

他们能够在不创建对象的情况下调用该方法,因为该方法是静态的。静态方法不是附加到类的实例,而是附加到类本身,因此您可以只调用它们而不创建新的对象

例如,如果你有

public class School {
    public String getName() {
        return name;
    }
}
要调用它,您需要创建一个对象,这是有意义的,因为该方法用于获取特定学校的名称

School school = ...;
String schoolName = school.getName();
但是如果你有这样一个静态方法

public class School {
    public static List<School> getAllSchools() {
        ....
    }
}
这同样适用于
LayoutInflater.from
。它不是从实例调用的方法;而是创建LayoutInflater实例的静态方法

LayoutInflater inflater = LayoutInflater.from(context);
这称为静态初始值设定项,当您希望返回某个对象的实例,但构造函数实际上不起作用时,可以使用它。例如,如果您使用构造函数(
newlayoutinflater(…)
,如果可能的话),那么它每次都会创建一个新对象,这并不总是最好的。但是静态初始值设定项允许您创建一个对象并保存它,这样您就可以再次返回相同的对象,这在某些情况下会更好,这也是使用静态初始值设定项的主要原因之一,如
LayoutInflater.from

LayoutInflater inflater = LayoutInflater.from(context);