一、类和接口的继承&实现问题:
1、一个接口可以继承多个接口,例如:interface C extends A, B {}.
其中A,B,C都是接口。此时接口C已经有A,B中全部的方法,也可以自己再添加额外的方法。(你可以理解为每个接口都是一个类)。
2、一个类只能继承一个类,不能继承多个类:class B extends A{}.
3、一个类可以实现多个接口:class D implements A,B,C{}
注意:一个类如果实现了一个接口,则必须实现它的所有方法;
4、在继承类的同时,也可以继承接口:class E extends D implements A,B,C{}
二、接口&抽象类
1、接口
接口中的变量会被隐式地指定为public static final变量,且显式指定时也必须如此,否则会报错;
接口中的方法会被隐式地指定为public abstract方法,且显式指定时也必须如此,否则会报错。
2、抽象类
1)如果一个类含有抽象方法(用abstract关键字修饰的方法),则称这个类为抽象类,抽象类必须在类前用abstract关键字修饰。
2)抽象类与普通类之间的区别:
a.抽象类中含有没有具体实现的方法,所以不能用抽象类创建对象。
b.抽象方法必须被声明为public或protected才能被子类继承并实现。缺省情况下默认为public。
c.抽象类中的抽象方法必须被子类实现,如果未实现父类的抽象方法,则子类也必须定义为abstract类。
3、常说的“是不是”和“有没有”的含义:
接口代表了行为的抽象,抽象类则是对整个类的抽象(类包括属性和行为)。
一个子类继承了一个抽象类,则该子类必然和该父类一个种类(有其父必有其子),因此说继承是“是不是”的关系;
一个类实现了一个接口,说明这个类有这个接口中的行为,接口实现是“有没有”的关系。
java企业级通用权限安全框架源码 SpringMVC mybatis or hibernate+ehcache shiro druid bootstrap HTML5