将这个interface的定义设为public

解决方案 »

  1.   

    非public的定义只可以在当前的包中被调用
      

  2.   

    //package c08.interface.TInterface.javapackage c08.TInterface;public interface TInterface { //这样???不行啊~~~~~早就试过啦~~~~~~~~~~~
    void prt();
    void set();
    int  get();
    }
      

  3.   

    你 import的时候  大小写错了
      

  4.   


      "i = this.i;"应该是this.i=i;! 你写反了!
      

  5.   

    interface TInterface {              <----大写的I
    void prt();
    void set();
    int  get();
    }import c08.Tinterface.*;           <-----小写的i
      

  6.   

    你两个类不在同一个包下面,你把interface 里面的方法都定义成public的就好了
      

  7.   

    boby(feuer) :好好学习去!~~:)     takecare(大厅) :你的星星从那里盗来的啊?哈哈:)
      

  8.   

    老兄(楼主),错误除以上几个外,还有4个错误,现把全部完整的代码贴出来,请参考
    ------------------------------------------------
    package c08.TInterface;public interface TInterface {
    void prt();
    void set(int i);
    int  get();
    }
    -------------------------------------------------
    package c08.test;import c08.TInterface.TInterface;public class Testinterface2 implements TInterface {
    private int i;

    public void prt(){
    System.out.println(i);
    }

    public void set(int i){
    this.i=i;
    }

    public int get() {
    return i;
    }

    public static void main( String agrv[] ) {
    int i;
    Testinterface2 test = new Testinterface2();
    test.set(10);
    test.prt();
    i = test.get();
    System.out.println(i);
    }
    }-------------------------------------------------
    输出结果
    10
    10
    Press any key to continue...
    --------------------------------------------------
    这四个错误分别是
    1 void set(int i);声明与实现时的函数原形不一致
    2 请这样输入包import c08.TInterface.TInterface;
    3 void prt();与实现时不同,你写成了test.ptr();
    4 i = test.get().=>i = test.get();//应该为分号,不是句号