接口十分常用,能规范实现类的命名 和 实现多个实现类的向上转型成统一类型 ,但是接口的修饰符只能是 public吗?

当然不是,可以是private ,

  难道是像这样?

Java 私有接口 【类中嵌套接口】

 

   显然不可以,已经报错了 ,

那么答案是:只能在类中嵌套私有接口

Java 私有接口 【类中嵌套接口】

 

 那么接口内部方法可以是私有的吗?

答案是不可以,不论接口是不是私有修饰符,其内部的方法都不允许是私有修饰符,只能是public修饰符

Java 私有接口 【类中嵌套接口】

 

 看,报错了。

2.操作

(1)目录结构

Java 私有接口 【类中嵌套接口】

 

 (2)内部嵌套私有接口的类

package com.example.javabaisc.mInterface;

/**
 * 类中嵌套接口 ,修饰符可为 private ,
 * private接口只能在当前类中使用,这样可以使此类有更好封装性,可读性和可维护性
 */
public class KK {
    //私有接口
    private interface EE {
        public void a();
        //接口方法默认是public修饰符,可以不写
        void b();

    }

    //内部类实现接口
    static class GG implements EE {

        @Override
        public void a() {
            System.out.println("a");
        }

        @Override
        public void b() {
            System.out.println("b");
        }
    }

    //供外部 调用 接口实现类方法
    public void mdo() {
        EE e = new GG();
        e.a();
        e.b();
    }


}
View Code

相关文章: