我跟着上课了
class MyClass implements Intrfc {
String pickmeUp = "Its Me";
public static void main(String[] args){
Intrfc ob = new MyClass();
ob.pickmeUp; ---> How can I access this way ?
}
}
有没有办法使用Interface类型访问类变量?
有没有办法使用Interface类型访问类变量?
不,这是界面的重点。
是的,接口只给你行为(方法),而不是“状态”(变量/字段)。这就是Java中的东西。
当然,你总是可以使用instanceof
检查实际对象是否属于某种更具体的类型,然后再转换为该类型。但正如所说,这违背了使用接口的目的!
不,您不能使用接口类型访问类变量,但接口可以定义可以访问变量的方法。
interface Intrfc {
public String getPickmeUp();
}
class MyClass implements Intrfc {
String pickmeUp = "Its Me";
public String getPickmeUp(){
return pickmeUp;
}
public static void main(String[] args){
Intrfc ob = new MyClass();
ob.getPickmeUp();
}
}
在这个定义中:
class MyClass implements Intrfc {
String pickmeUp = "Its Me";
}
字段pickmeUp
甚至不是Intrfc
接口的成员,因此不可能仅使用接口来实现它。 pickmeUp
是具体类的成员 - MyClass
。