美文网首页
基本使用 ~ 内部类之一

基本使用 ~ 内部类之一

作者: 喏喏2021 | 来源:发表于2022-01-21 22:30 被阅读0次

    1.基本概念

    在一个类的内部定义另外一个类,是不是很直接明了

    2. 最常使用方式

    就像它的名字一样,内部类,就在内部使用好了,的确也有这样的用途

    public class InnerTest {    
            //我们内部类定义的所在地
        class InnerClass {
            private String name;
            InnerClass(String name){
                this.name = name;
            }
            String getName(){
                return name;
            }
        }   
        void printInnerName(){
                    //在外部类的新建使用的地方
            InnerClass innerClass = new InnerClass("inner class");
            String innerName = innerClass.getName();
            System.out.println("inner name:" + innerName);
        }   
        public static void main(String[] args) {
            InnerTest test = new InnerTest();
            test.printInnerName();
        }
    }
    //inner name:inner class
    

    3. 在其他地方需要使用到内部类

    InnerTest.InnerClass innerClass = test.new InnerClass("client use inner name");
    System.out.println("inner class name:" + innerClass.getName());
    //inner class name:client use inner name
    

    4. 增强外部类功能,可以实现外部接口

    1. 定义一个外部接口
    interface OuterInterface {
        void a();
    }
    
    1. 在外部类内部接口实现类
    private class OuterInterfaceImpl implements OuterInterface {
            @Override
            public void a() {
                System.out.println("a()");
            }
        }
        
        public OuterInterface getOutInterface(){
            return new OuterInterfaceImpl();
        }
    
    1. 外部方法调用
    OuterInterface outInterface = test.getOutInterface();
    outInterface.a();
    //a()
    

    4. 内部类中引用外部类的对象

    OuterClass.this
    

    这里的OuterClass即为外部类的类名,这样我们可以引用外部类的对象。

    相关文章

      网友评论

          本文标题:基本使用 ~ 内部类之一

          本文链接:https://www.haomeiwen.com/subject/yejuhrtx.html