我們在定義常量的時候,可以把常量定義在接口里面,如:
package org.zy.demo.base;
public interface InterfaceDemo {
final String name="this is my name";
}
上面是我定義的接口和常量。
常量的定義沒有指明 public static
我實現(xiàn)此接口:
package org.zy.demo.base;
public class InterfaceImpl implements InterfaceDemo{
}
那么我們?nèi)绾卧L問呢?
我做了一個demo:
package org.zy.demo.base;
public class MainDemo {
public static void main(String[] args){
InterfaceImpl ii=new InterfaceImpl();
String name = InterfaceDemo.name;
System.out.println(name);
String n=ii.name;
System.out.println(n);
}
}
執(zhí)行的結(jié)果如下:
this is my name
this is my name
在上面的程序中,我們使用了兩種不同的方法來取得了 name的值。
由第一種方法我們可以知道:
其實接口內(nèi)定義的所有的屬性和方法都是public類型的。如果是屬性,其默認是Public static 的
通過第二種方法我們可以知道,此屬性是公有的。否則我們怎么能直接訪問呢?
由上面的結(jié)論我們可以知道為什么我們定義接口中的方法的時候,不用添加public,如泥可以定義如下方法:
Public Interface A{
A();
}
當然你也可以:
Public Interface A{
Public A();
}