//file: ITest.java
package myPackage;
import java.io.*;
import java.lang.*;
import java.net.*;public interface ITest
{
    public int abc(String str1 ,String str2) throws Exception;
}//file:CTest.java
package myPackage;
import java.io.*;
import java.lang.*;
import java.net.*;
import myPackage.*;public class CTest implements ITest
{
    public int abc(String str1 ,String str2) throws Exception
   {
       System.out.println("OK");
   }}//file:问题:
    1。CTest.java老是编译通不过;
    2。真正使用的时候,interface有什么意义?直接使用class CTest不就可以了吗?最好能给出例子。
多谢!

解决方案 »

  1.   

    编译不过去,什么错误?
    interface的意义,这个问题肯定很多人回答你,不过你最好先去看看java源代码,src里面的ActionListener之类的都是Interface,还有很多,你找一下,再看看实现类和使用类就知道了
      

  2.   

    1。CTest的abc方法缺少返回语句,不需要引入import myPackage.*;两个类在一个包中
    2。建议看书
      

  3.   

    package myPackage;
    同一个包下不需要这一句吧
    2:interface应该是一种思想的体现。
      

  4.   

    1. 没有 return 语句。
    2.接口的作用,一言以蔽之,就是标志类的类别(type of class)。把不同类型的类归于不同的接口,可以更好的管理他们。OO的精髓,我以为,是对对象的抽象,最能体现这一点的就是接口。为什么我们讨论设计模式都只针对具备了抽象能力的语言(比如c++、java、c#等),就是因为设计模式所研究的,实际上就是如何合理的去抽象。(cowboy的名言是“抽象就是抽去像的部分”,看似调侃,实乃至理)。
      

  5.   

    interface就是可以多继承。
    建议看下书
      

  6.   

    1。CTest.java老是编译通不过;
       你方法定义了返回INT,你社么也没返回.
        2。真正使用的时候,interface有什么意义?直接使用class CTest不就可以了吗?最好能给出例子。
      接口的作用以极端的方法来说就是让JAVA能多继承~~
      

  7.   

    不好意思,那个函数实现我是有写return的,错误提示如下:CTest.java:7: cannot resolve symbol
    symbol  : class ITest
    location: class myPackage.CTest
    public class CTest implements ITest
                                           ^
    1 error
      

  8.   

    问题解决了。
    我是用命令行编译的,该用JBuilder编译就好了。
      

  9.   

    接口有什么用呢?.......
    接口太有用了public interface Computer // 电脑
    {
       public void changeDisplay(Display type); // 给电脑更换显示器
       public void changeMouse(Mouse type); // 给电脑换鼠标
    }
    电脑把它定义成接口,后期你可以面对很多的变化。
    客户如果要换什么显示器,鼠标。你只需在写个类实现就行,不需要去修改代码
    如果你定义成class 
    public classComputer // 电脑
    {
       public void changeDisplay(Display type) // 给电脑更换显示器
       {} // 实现
       public void changeMouse(Mouse type) // 给电脑换鼠标
       {} // 实现
    }
    如果你在去更换什么显示器或者是鼠标,起不是要擦掉原来的;如果客户想又要改回来呢.....
    这就是 面向接口的编程 的重要性
      

  10.   

    //ITest.java
    package myPackage;
    import java.io.*;
    import java.lang.*;
    import java.net.*;public interface ITest
    {
        public void abc(String str1 ,String str2) throws Exception;
    }
    //CTest.java
    package myPackage;
    import java.io.*;
    import java.lang.*;
    import java.net.*;
    import myPackage.*;public class CTest implements ITest
    {
        public void abc(String str1 ,String str2) throws Exception
       {
           System.out.println("OK");
       }}//System.out.println("OK");的返回类型是void,而不是int,所以把int改为void
    //java是单继承的,而接口可以实现多个