您的位置:首页 > 编程语言 > Java开发

Java的接口、继承

2015-12-01 19:29 615 查看
Java只支持单重继承,即一个类只能有一个父类。Java提供了接口来实现类的多重继承功能。

接口的定义

----和类文件一样,接口文件的文件名必须与接口名相同

[访问权限修饰符] interface 接口名 [extends
父接口列表] {

[public] [static] [final] 变量;

[public] [abstract] 方法; ----方法只有定义而没有实现

}

例如:

public interface ICalculate{
final float PI = 3.14159f;
float getArea(float r);
float getCircumference(float r);
}


接口的实现

[访问权限修饰符] class 类名[extends 父类名] [implements
接口列表] { ----多个接口间用“,”分隔

----修饰符可选:public、abstract和final

----多个接口如出现变量名冲突,则可用“接口名.变量名”解决。出现方法冲突则只要实现一个。

}

例如:

public class Cire implements ICalculate{
public float getArea(float r) {
//函数体
}
public float getCircumference(float r) {
//函数体
}
}
在类中实现接口时,方法名、返回值类型等必须与接口中的一样。

类的继承

[修饰符] class 子类名 extends 父类名 {

类体

}

重写(覆盖)

可以使一个方法在不同的子类中表现出不同的行为

super

子类可以继承父类的非私有成员变量和成员方法。但是如果子类中声明的变量与父类中的变量同名,或子类的方法重写了父类的方法。则此时子类不能继承父类的该成员变量或成员方法。如果想在子类中访问父类中被子类隐藏的成员变量或成员方法,就可以使用super关键字。

作用1:调用父类的构造方法

super( [参数列表] );

例如:

public class Beast {
String skin = " ";
public Beast(String str) {
skin = str;
}
}

public class Tiger extends Beast {
public Tiger() {
super("条纹");//调用Beast的构造方法
}
}
作用2:操作被隐藏的成员变量和成员方法

super.成员变量

super.成员方法( [参数] )
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Java 接口