Java编程思想之接口Java中实现多重继承
1、interface不仅仅只是一个极度抽象的类,因为它允许人们通过创建一个能够被向上转型为多种基类型的类,来实现某种类似C++多重继承变种的特性。
2、像类一样,可以在interface关键字前面添加public关键字(但仅限于该接口在与其同名的文件中被定义),或者不添加它而使其只是具有包访问权限,这样它就只能在同一个包内可用。
3、可以选择在接口中显示地将方法声明为public的,但即使你不这么做,它们也是public的。因此当实现一个接口时,在接口中被定义的方法必须被定义为public。
4、Java中,在方法的继承过程中,其可访问权限不能被降低。
5、接口也可以包含字段,但是它们隐式为static和final的。
6、因为接口是根本没有任何具体实现的——也就是说,没有任何与接口相关的存储;因此,也就无法阻止多个接口的组合,也就是“多重继承”。如下例子:
[java] view plaincopy
interface CanFight{
void fight();
}
interface CanSwim{
void swim();
}
interface CanFly{
void fly();
}
class ActionCharacter{
public void fight(){
("()");
}
}
class Hero extends ActionCharacter implements CanFight, CanSwim, CanFly{
public void swim(){
("()");
}
public void fly(){
("()");
}
/**()方法并没在这里定义
* ()方法的特征签名是一样的。
* ()的定义,其定义也因ActionCharacter而随之而来。
* ()改为private,就会出现提示说
* “类型 Hero必须实现继承的抽象方法 ()”的错误。
* ()改为private,就会出现提示说
* “继承的方法 ()不能隐藏 CanFight中的公用抽象方法”的错误。
*/
}
public class Adventure{
public static void t(CanFight
Java编程思想之接口Java中实现多重继承 来自淘豆网m.daumloan.com转载请标明出处.