首页 > 编程语言 > 详细

【java in think】接口

时间:2015-03-23 14:56:41      阅读:175      评论:0      收藏:0      [点我收藏+]
class AA
{
    interface B
    {
        void f();
    }

    public class BImp implements B
    {

        @Override
        public void f()
        {

        }

    }

    private class BImp2 implements B
    {

        @Override
        public void f()
        {

        }

    }

    public interface C
    {
        void f();
    }

    class CImp implements C
    {

        @Override
        public void f()
        {

        }

    }

    private class CImp2 implements C
    {

        @Override
        public void f()
        {

        }

    }

    private interface D
    {
        void f();
    }

    private class DImp implements D// 私有内部接口也可以被内部private类实现,但不能被外类实现
    {

        @Override
        public void f()
        {

        }

    }

    public class DImp2 implements D// 私有内部接口也可以被内部public类实现
    {

        public DImp2()
        {
            System.out.println("DImp2()");
        }

        @Override
        public void f()
        {
            System.out.println("receive over");
        }

    }

    public D getD()
    {
        return new DImp2();// ??????
    }

    private D dRef;

    public void receive(D dRef)
    {
        this.dRef = dRef;
        this.dRef.f();
        
    }
}

interface E
{
    interface G
    {
        void f();
    }

    public interface H
    {
        void f();
    }

    void g();// 不能在接口中创建私有接口
}

public class InterfaceDemo
{
    public class BImp implements AA.B
    {

        @Override
        public void f()
        {

        }

    }

    class CImp implements AA.C
    {

        @Override
        public void f()
        {

        }
    }

    // cannot implements a private interface except within that interface‘s
    // defining class;
    // ! class DImp implements InterfaceDemo.D
    // ! {
    // ! @Override
    // ! public void f(){}
    // ! }
    class EImp implements E
    {
        @Override
        public void g()
        {
        }
    }

    class EGImp implements E.G
    {
        @Override
        public void f()
        {
        }
    }

    class EImp2 implements E
    {
        @Override
        public void g()
        {
        }

        class EG implements G
        {
            @Override
            public void f()
            {
            }
        }
    }

    /**
     * @param args
     */
    public static void main(String[] args)
    {
        AA nes = new AA();
        AA nes2 = new AA();
        nes2.receive(nes.getD());
    }

}

 

【java in think】接口

原文:http://www.cnblogs.com/linlin-meimei/p/4359597.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!