接口与抽象类
/************* 最终类中定义的常量 ***************/
package Test;
public final class A {public static final String a = "";}
import static Test.A.a;
public class B{ //a已经是这个类中的常量了,可以直接用 }
/************ 接口中定义的常量 *****************/
interface A { public static final String a; }
abstract class B implements A{ //a已经是这个类中的常量了,可以直接用 }
==========================================================
接口:我们要定义一个类“做什么”,然后在里面实现“怎么做”。比如,我们都要“连接数据库”,且要实现“怎么连”。
产生接口的问题是:连接数据库,但要连接不同的数据库,要实现“重构”的时候,怎么办。所以接口技术产生了。
-------------------------
eg:(这个例子有问题)
interface A
class B implements A (可以将B,D直接写成抽象类,在被要调用的类去继承)
class D implements A
--------------------------------------------------
例如接口A中定义了一个未实现的方法X()。这个方法在B中实现了。C类需要这个方法,但不是B实现的那种功能,这时候我们就可以写一个D,D也实现了方法X(),但功能跟B中的不一样,这种功能是C想要的功能,可以在C中
--------------------------------------------------
import D
class C{
private A a;
public C(){ a=new D(); } (a是只能调用a接口的方法,因为兼容性原则的原因。)
}
==========================================================