//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不就可以了吗?最好能给出例子。
多谢!
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不就可以了吗?最好能给出例子。
多谢!
interface的意义,这个问题肯定很多人回答你,不过你最好先去看看java源代码,src里面的ActionListener之类的都是Interface,还有很多,你找一下,再看看实现类和使用类就知道了
2。建议看书
同一个包下不需要这一句吧
2:interface应该是一种思想的体现。
2.接口的作用,一言以蔽之,就是标志类的类别(type of class)。把不同类型的类归于不同的接口,可以更好的管理他们。OO的精髓,我以为,是对对象的抽象,最能体现这一点的就是接口。为什么我们讨论设计模式都只针对具备了抽象能力的语言(比如c++、java、c#等),就是因为设计模式所研究的,实际上就是如何合理的去抽象。(cowboy的名言是“抽象就是抽去像的部分”,看似调侃,实乃至理)。
建议看下书
你方法定义了返回INT,你社么也没返回.
2。真正使用的时候,interface有什么意义?直接使用class CTest不就可以了吗?最好能给出例子。
接口的作用以极端的方法来说就是让JAVA能多继承~~
symbol : class ITest
location: class myPackage.CTest
public class CTest implements ITest
^
1 error
我是用命令行编译的,该用JBuilder编译就好了。
接口太有用了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) // 给电脑换鼠标
{} // 实现
}
如果你在去更换什么显示器或者是鼠标,起不是要擦掉原来的;如果客户想又要改回来呢.....
这就是 面向接口的编程 的重要性
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是单继承的,而接口可以实现多个