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

Java 中的接口使用初步

2017-10-02 16:29 225 查看

接口

接口实现和类继承的规则不同,为了数据的安全,继承时一个类只有一个直接父类,也就是单继承,但是一个类可以实现多个接口,接口弥补了类的不能多继承缺点,继承和接口的双重设计既保持了类的数据安全也变相实现了多继承。

Java接口本身没有任何实现,因为Java接口不涉及表象,而只描述public行为,所以Java接口比Java抽象类更抽象化。但是接口不是类,不能使用new运算符实例化一个接口。

一个使用实例

public class Im_test {
public static void main(String []args)
{
CallAble t=new R_CallAble();
t.call_a();
}
}

interface CallAble{
abstract void call_a();
}
class R_CallAble implements CallAble{
public void call_a()//必须声明为public,否则会报错
{
System.out.println("Test!");
}
}


如果一个类不是抽象类,那么他所继承的接口中的方法必须要全部实现

接口中可以有变量

interface CallAble{
abstract void call_a();
final int GOD=0;
int t=10;
}


用于实现接口的类可以使用接口中的变量

接口的继承

接口可以像类一样继承 ,也是使用
extends
关键词

interface CallB extends CallAble{
void call_b();
}


如果一个非抽象类要实现一个接口,那么他要实现所有的方法

class R_CallAble implements CallB{
public void call_a()//必须声明为public,否则会报错
{
System.out.println("Test!");
}
public void call_b()
{
System.out.println(GOD);
}
}


一个类可以实现多个接口

class R_CallAble implements CallB,CallC{
public void call_a()//必须声明为public,否则会报错
{
System.out.println("Test!");
}
public void call_b()
{
System.out.println(GOD);
}
public void call_c()
{
System.out.println(CallC.t);
}
}


接口的可见性

接口的访问控制只有public和默认两种

public 的只能定义在单独的java文件中,这是由于public类型的类或者接口在一个java文件中只能有一个

public类型的接口可以在任何代码中使用,默认的则只能在同一个包中使用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java 继承