我們?cè)诙x常量的時(shí)候,可以把常量定義在接口里面,如:
package org.zy.demo.base;
public interface InterfaceDemo {
final String name="this is my name";
}
上面是我定義的接口和常量。
常量的定義沒有指明 public static
我實(shí)現(xiàn)此接口:
package org.zy.demo.base;
public class InterfaceImpl implements InterfaceDemo{
}
那么我們?nèi)绾卧L問呢?
我做了一個(gè)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;
String exams =642-453 ;
System.out.println(n);
}
}
執(zhí)行的結(jié)果如下:
this is my name
this is my name
在上面的程序中,我們使用了兩種不同的方法來取得了 name的值。
由第一種方法我們可以知道:
其實(shí)接口內(nèi)定義的所有的屬性和方法都是public類型的。如果是屬性,其默認(rèn)是
Public static 的
通過第二種方法我們可以知道,此屬性是公有的。否則我們?cè)趺茨苤苯釉L問呢?
由上面的結(jié)論我們可以知道為什么我們定義接口中的方法的時(shí)候,不用添加public,如泥可以定義如下方法:
Public Interface A{
A();
}
當(dāng)然你也可以:
Public Interface A{
Public A();
}
package org.zy.demo.base;
public interface InterfaceDemo {
final String name="this is my name";
}
上面是我定義的接口和常量。
常量的定義沒有指明 public static
我實(shí)現(xiàn)此接口:
package org.zy.demo.base;
public class InterfaceImpl implements InterfaceDemo{
}
那么我們?nèi)绾卧L問呢?
我做了一個(gè)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;
String exams =642-453 ;
System.out.println(n);
}
}
執(zhí)行的結(jié)果如下:
this is my name
this is my name
在上面的程序中,我們使用了兩種不同的方法來取得了 name的值。
由第一種方法我們可以知道:
其實(shí)接口內(nèi)定義的所有的屬性和方法都是public類型的。如果是屬性,其默認(rèn)是
Public static 的
通過第二種方法我們可以知道,此屬性是公有的。否則我們?cè)趺茨苤苯釉L問呢?
由上面的結(jié)論我們可以知道為什么我們定義接口中的方法的時(shí)候,不用添加public,如泥可以定義如下方法:
Public Interface A{
A();
}
當(dāng)然你也可以:
Public Interface A{
Public A();
}