1.继承抽象类,必须实现抽象类的抽象方法!
2.接口可以继承接口!不必实现父类方法。
3.接口可以继承多个接口!不必实现父类方法!
4.实现多个接口的时候,如果两个接口有一个相同方法名,相同请求参数、不同返回类型的方法时,系统不能自动根据返回类型去区分这个方法是属于哪个接口,所以会报错。所以应该避免这种操作。
如果必须要方法名相同,那么只要定义不同的请求参数即可!
5.接口不能实现接口!
6.接口中定义的常量都是final及static域的!
7.可以在接口和类可以互相嵌套!类里面也可以套类!接口里面也可以套接口!
2.接口可以继承接口!不必实现父类方法。
3.接口可以继承多个接口!不必实现父类方法!
4.实现多个接口的时候,如果两个接口有一个相同方法名,相同请求参数、不同返回类型的方法时,系统不能自动根据返回类型去区分这个方法是属于哪个接口,所以会报错。所以应该避免这种操作。
如果必须要方法名相同,那么只要定义不同的请求参数即可!
5.接口不能实现接口!
6.接口中定义的常量都是final及static域的!
7.可以在接口和类可以互相嵌套!类里面也可以套类!接口里面也可以套接口!
8.private修饰的接口,只能在本类中使用!接口中的接口只能是public修饰,不写public默认就是public权限!
9.有抽象方法的类一定是抽象类,抽象类不一定有抽象方法!
10.抽象类中的抽象方法被继承时必须被实现。其他非抽象方法可实现,可不实现!
加上一个接口与工厂的小例子!
interface Service{ void method1(); void method2(); } interface ServiceFactory{ Service getService(); } class Tools1Service implements Service{ @Override public void method1() { System.out.println("tools1Service---method1"); } @Override public void method2() { System.out.println("tools1Service---method2"); } } class Tools1ServiceFactory implements ServiceFactory{ @Override public Service getService() { return new Tools1Service(); } } class Tools2Service implements Service{ @Override public void method1() { System.out.println("tools2Service---method1"); } @Override public void method2() { System.out.println("tools2Service---method2"); } } class Tools2ServiceFactory implements ServiceFactory{ @Override public Service getService() { return new Tools2Service(); } } class Factory{ public static void service(ServiceFactory serviceFactory){ Service service=serviceFactory.getService(); service.method1(); service.method2(); } public static void main(String[] args){ Tools1ServiceFactory tools1ServiceFactory=new Tools1ServiceFactory(); service(tools1ServiceFactory); } }
根据不同的对象而调用不同的方法!