我们在定义常量的时候,可以把常量定义在接口里面,如:
package org.zy.demo.base;
public interface InterfaceDemo {
final String name="this is my name";
}
上面是我定义的接口和常量。
常量的定义没有指明 public static
我实现此接口:
package org.zy.demo.base;
public class InterfaceImpl implements InterfaceDemo{
}
那么我们如何访问呢?
我做了一个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);
}
}
执行的结果如下:
this is my name
this is my name
在上面的程序中,我们使用了两种不同的方法来取得了 name的值。
由第一种方法我们可以知道:
其实接口内定义的所有的属性和方法都是public类型的。如果是属性,其默认是Public static 的
通过第二种方法我们可以知道,此属性是公有的。否则我们怎么能直接访问呢?
由上面的结论我们可以知道为什么我们定义接口中的方法的时候,不用添加public,如泥可以定义如下方法:
Public Interface A{
A();
}
当然你也可以:
Public Interface A{
Public A();
}
package org.zy.demo.base;
public interface InterfaceDemo {
final String name="this is my name";
}
上面是我定义的接口和常量。
常量的定义没有指明 public static
我实现此接口:
package org.zy.demo.base;
public class InterfaceImpl implements InterfaceDemo{
}
那么我们如何访问呢?
我做了一个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);
}
}
执行的结果如下:
this is my name
this is my name
在上面的程序中,我们使用了两种不同的方法来取得了 name的值。
由第一种方法我们可以知道:
其实接口内定义的所有的属性和方法都是public类型的。如果是属性,其默认是Public static 的
通过第二种方法我们可以知道,此属性是公有的。否则我们怎么能直接访问呢?
由上面的结论我们可以知道为什么我们定义接口中的方法的时候,不用添加public,如泥可以定义如下方法:
Public Interface A{
A();
}
当然你也可以:
Public Interface A{
Public A();
}