基本使用 ~ 内部类之一

2022-01-21  本文已影响0人  喏喏2021

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即为外部类的类名,这样我们可以引用外部类的对象。

上一篇 下一篇

猜你喜欢

热点阅读