一、接口(interface),接口里不能包含普通方法,接口里所有方法都是抽象方法。接口是更彻底的抽象。
二、You can choose to explicitly declare the methods in an interface as public, but they are public even if you don’t say it. So when you implement an interface, the methods from the interface must be defined as public. Otherwise, they would default to package access, and you’d be reducing the accessibility of a method during inheritance, which is not allowed by the Java compiler.——摘自thinking in java
三、interface可以用public或者default修饰。
四、一个接口可以有多个直接父接口,但接口只能继承接口,不能继承类。
因为一个接口中只能有三种成员出现:
1.公共的静态常量(public final static )
public static final int i=10;
或者int i=10;(可以省略掉一部分)
注意在声明的时候要给变量赋予初值
2.公共的抽象方法(public abstract )
3.静态内部类(static class)
其一、一个类至少带一个构造方法,若它被一个接口继承时,那么接口至少也会用super()来继承其父类的构造方法,显然接口中不应该包含构造方法,无论是其自身的还是其父类的
其二,如果类中有一般的方法和成员变量,也会被子类全部继承,而在接口中了,这些都是不合法的。因此接口是绝对不可能继承一个类的
[修饰符] interface
{
}
五、一个类用implements关键字来实现一个接口,在这个类中必须对接口的抽象方法进行override。
六、一个类可以实现多个接口,一个接口可以继承多个接口。
class XX implements 接口1,接口2...
七、通俗的讲,你认为是要变化的东西,就放在你自己的实现中,不能放在接口中去,接口只是对一类事物的属性和行为更高层次的抽象。对修改关闭,对扩展(不同的实现implements)开放,接口是对开闭原则的一种体现。
八、从设计模式的类型上来说,简单工厂模式是属于创建型模式,又叫做静态工厂方法(Static Factory Method)模式,但不属于23种GOF设计模式之一。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实现。
九、静态工厂将创建对象的代码从客户类中提取出来从而保证客户类遵循OCP(Open-Closed Principle,它的核心含意是:一个好的设计应该能够容纳新的功能需求的增加,但是增加的方式不是通过修改又有的模块(类),而是通过增加新的模块(类)来完成的,也就是在设计的时候,所有软件组成实体包括接口,函数,函数等必须是可扩展但不可修改的),但是它承担了违背OCP的恶名。