我想我可以在this
中使用interface
关键字。
因此,如果this
关键字代表class
中的当前class
对象引用,那么它在interface
中代表什么?
interface InterfaceOne {
default void display() {
this.defaultMethod();
System.out.println("InterfaceOne method displayed");
}
default void defaultMethod() {
System.out.println("defaultMethod of InterfaceOne called");
}
}
答案 0 :(得分:3)
即使在这种情况下,this
关键字也用于相同的上下文和含义。
您遗失的一件事是,this
关键字代表当前“对象”而非当前“类”。因此,如果您创建此“Interface”的对象(通过在另一个类中实现它),this
关键字将代表该特定对象。
例如,如果你有,
class ClassOne implements InterfaceOne{
}
然后,你可以拥有,
InterfaceOne one = new ClassOne();
one.display(); // Here, the "this" keyword in your display method, will refer to the object pointed by "one".
希望这有帮助!
答案 1 :(得分:1)
"这"表示实现接口的新实例
public interface InterfaceTest {
default void display() {
this.defaultMethod();
System.out.println("InterfaceOne method displayed");
}
default void defaultMethod() {
System.out.println("defaultMethod of InterfaceOne called");
}
}
public class TestImp implements InterfaceTest {
@Override
public void defaultMethod() {
System.out.println("xxxx");
}
}
public class Test {
public static void main(String args[]) {
TestImp imp=new TestImp();
imp.display();
}
}
//console print out:
xxxx
InterfaceOne method displayed