/******类中嵌套接口*****/
class A {
interface B{//----------------B
void f();
}
public class BImp implements B{
public void f() {}
}
private class BImp2 implements B{
public void f() {}
}
public interface C{//public----------------C
void f();
}
class CImp implements C{
public void f() {}
}
private class CImp2 implements C{
public void f() {}
}
private interface D{//private----------------D 像D这种private接口不能再这个类之外实现。
void f();
}
private class DImp implements D{//private类
public void f() {}
}
public class DImp2 implements D{//public类
public void f() {System.out.println("ooooooooo");}
}
public D getD (){
return new DImp2();
}
private D dRef;
public void receiveD(D d){
dRef = d;
dRef.f();
}
}
/*******接口中嵌套接口********/
interface E{
interface G{//嵌套的接口必须是public ,这里默认也是public
void f();
}
public interface H{
void f();
}
void g();
}
/******************/
public class NesingInterfaces{
public class BImp implements A.B{
public void f() {}
}
class CImp implements A.C{
public void f(){}
}
//public class DImp implements A.D{} --私有的接口不能实现,即没有访问的权限
class EImp implements E{//实现嵌套接口的时候并不需要实现嵌套在内部的接口。
public void g(){}
}
class EGImp implements E.G{
public void f(){}
}
class EGImp2 implements E{
public void g(){}
class EG implements E.G{
public void f(){}
}
}
public static void main(String [] args){
A a = new A();
//A.D ad = a.getD(); --D接口是私有的,所以不能直接访问。A.D是行不通的。
//A.DImp2 adi = a.getD(); --返回的是接口D,而A.DImp2是接口D的实现类。向下转型要强转。
//a.getD().f();//
//A.D d ;---由于接口D是私有的,所以以上两种访问方式都是不行的。
a.receiveD(a.getD());//像正常的get/set方法那样访问的话就没有问题。
A.DImp2 ad2 = a.new DImp2();
ad2.f();
}
}
分享到:
相关推荐
Java源代码实现部分,比较有意思,也具参考性。像坐标控制、旋转矩阵、定时器、生成图像、数据初始化、矩阵乘法、坐标旋转、判断是否是顺时针方向排列、鼠标按下、放开时的动作等,都可在本源码中得以体现。 Java...
Java源代码实现部分,比较有意思,也具参考性。像坐标控制、旋转矩阵、定时器、生成图像、数据初始化、矩阵乘法、坐标旋转、判断是否是顺时针方向排列、鼠标按下、放开时的动作等,都可在本源码中得以体现。 Java...
Java源代码实现部分,比较有意思,也具参考性。像坐标控制、旋转矩阵、定时器、生成图像、数据初始化、矩阵乘法、坐标旋转、判断是否是顺时针方向排列、鼠标按下、放开时的动作等,都可在本源码中得以体现。 Java...
Java源代码实现部分,比较有意思,也具参考性。像坐标控制、旋转矩阵、定时器、生成图像、数据初始化、矩阵乘法、坐标旋转、判断是否是顺时针方向排列、鼠标按下、放开时的动作等,都可在本源码中得以体现。 Java...
浮动的广告 嵌套在html中 各种EJB之间的调用示例 7个目标文件 摘要:Java源码,初学实例,EJB调用实例 各种EJB之间的调用源码示例,用远程接口的引用访问EJB、函数将被FirstEJB调用,同时它将调用secondEJB 基于JAVA的...
浮动的广告 嵌套在html中 各种EJB之间的调用示例 7个目标文件 摘要:Java源码,初学实例,EJB调用实例 各种EJB之间的调用源码示例,用远程接口的引用访问EJB、函数将被FirstEJB调用,同时它将调用secondEJB 基于JAVA的...