摘要:本文主要向大家介绍了JAVA语言编程学习之接口,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。
本文主要向大家介绍了JAVA语言编程学习之接口,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。
第9章 接口
1、抽象类和抽象方法:只给出方法的声明而没有具体实现的方法称为抽象方法,且必须使用abstract描述。拥有抽象方法的类为抽象类,同样必须声明为abstract的。不过允许没有抽象方法但声明为abstract的类。而abstract直接功能就是禁止对应类生成相应对象。
2、接口:是一种特殊的抽象类,其所有的方法必须为抽象方法,允许对其进行一切有关抽象类的操作。同时,其允许多重继承,而使其能够向上转型为多个接口类(主要的作用)。
允许的特殊的操作:使用抽象类implements(不允许extends)(多个)接口但不实现任何方法;接口extends(不允许implements)(多个)接口。访问权限控制:1)类:允许public和不显示控制,除内部类等特殊情况之外不允许使用其他限定符;2)方法:接口中的方法将自动且强制的转换为public。不过方法受到类访问权限的限制。3)域:将自动且强制的转换为 public static final。因此不允许使用空final但可以使用非常量表达式进行赋值。
3、嵌套接口
class A{
interface B{
void f();
}
public class BImp implements B{
public void f(){}
}
private class BImp2 implements B{
public void f(){}
}
private interface D{
void f();
}
private class DImp implements D{
public void f(){}
}
public class DImp2 implements D{
public void f(){}
}
public D getD(){return new DImp2();}
private D dRef;
public void receiveD(D d){
dRef = d;
dRef.f();
}
}
public class NestingInterfaces{
public class BImp implements A.B{
public void f(){}
}
public static void main(String[] args){
A a = new A();
// Can't access A.D
//! A.D ad = a.getD();
// Doesn't return anything but A.D
//! A.DImp2 di2 = a.getD();
// Can't access a member of the interface
//! a.getD().f();
// Only another A can do anything with getD():
A a2 = new A();
a2.receiveD(a.getD());
}
}
只能通过public方法去访问其中的private元素。
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注编程语言JAVA频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号