一、定义接口,源码如下:
public interface Myinterface
{
static final String MyifName="我的接口";
static final String MyifPrice="价格";
public double getprice();
}
二、使用接口的源码如下:
public class UseMyinterface { public static void main(String[] args) { MyServer s = new MyServer(); System.out.println(s.MyifName+s.MyifPrice); System.out.println(s.getprice()); } class MyServer implements Myinterface { public double getprice() { return 666.66; } } }
三、现在对UseMyinterface进行编译的时候,出现如下提示:
public class UseMyinterface { public static void main(String[] args) { MyServer s = new MyServer(); System.out.println(s.MyifName+s.MyifPrice); System.out.println(s.getprice()); } } class MyServer implements Myinterface { public double getprice() { return 666.66; } }
你把MyServer的类提到UseMyinterface类的外面
非常感谢刘老师,提到UseMyinterface类的外面就可以了,那个错误提示是什么意思?
@瑞得:
静态方法可以不用创建对象就调用,非静态方法必须有了对象的实例才能调用.因此想在静态方法中引用非静态方法是不可能的
@瑞得:
MyServer放在UseMyinterface中时,属于UseMyinterface的一个成员
在静态方法main中不能访问非静态的成员,也就不能直接new MyServer()
@g皓皓: 不是很明白,这里的s是非静态变量吗?
@瑞得: 你把类MyServer定义到了类UseMyinterface的内部,通俗点就是类UseMyinterface的成员变量,你没有加上static,那就是非静态的