我们可以直接导入非静态方法而不导入 class (就像我们对静态方法所做的那样)吗?
Can we directly import non-static methods without importing class (like we do for static methods)?
对于静态方法,我可以直接导入例如:
导入静态 io.restassured.RestAssured.given;
它是否也适用于 non-static/instance 方法?
不,你不能。
实例方法需要实例引用才能操作。但是一旦您引用了一个实例,您就不会使用完全限定名称来调用(或命名)实例方法。您只需按如下方式调用它:
obj.someMethod() // or
this.someMethod() // or
someMethod()
在每种情况下,您只需使用方法的简单名称。您不需要 class 名称,更不用说完整的 class 名称了。
此外,如果(假设)实例方法名称可以静态导入,那么在阅读代码时可能会相当混乱。试想一下,如果您导入 Object.equals
会发生什么……所以这可能是 一件好事 它是不允许的。
由于实例方法的静态导入通常既没有意义也没有必要...而且它们不受支持。
对于静态方法,我可以直接导入例如: 导入静态 io.restassured.RestAssured.given;
它是否也适用于 non-static/instance 方法?
不,你不能。
实例方法需要实例引用才能操作。但是一旦您引用了一个实例,您就不会使用完全限定名称来调用(或命名)实例方法。您只需按如下方式调用它:
obj.someMethod() // or
this.someMethod() // or
someMethod()
在每种情况下,您只需使用方法的简单名称。您不需要 class 名称,更不用说完整的 class 名称了。
此外,如果(假设)实例方法名称可以静态导入,那么在阅读代码时可能会相当混乱。试想一下,如果您导入 Object.equals
会发生什么……所以这可能是 一件好事 它是不允许的。
由于实例方法的静态导入通常既没有意义也没有必要...而且它们不受支持。