zoukankan      html  css  js  c++  java
  • 2019.6.10 工作日志

    1.内部类的定义与使用

    No enclosing instance of type Outer is accessible. Must qualify the allocation with an enclosing instance of type Outer (e.g. x.new A() where x is an instance of Outer).

    这个报错是说当前没有封闭的实例可以应用,即当前的内部类是动态的,不能直接实例化。

    具体解决方法:https://blog.csdn.net/sunny2038/article/details/6926079/

    即:---------------------------------------------------------------------------------------------------

    public class Outer {
    private int x = 1;
    void sayHello(){
    System.out.println("Hello!");
    }

    class Inner
    {
    int y = 0;

      void test()
      {
        System.out.println(x);
        sayHello();
      }
    }

    }

    public static void main(String args[])
    {
      Outer test = new Outer();
      test.sayHello();

      Outer.Inner in = new Outer.Inner();//这种定义方法错误,因为上面的Inner类是public类的(省略不写类型名,即认定为public类)
      Outer.Inner in2 = test.new Inner();//这种方法可以,因为已经有了实例化的Outer类型test,可以通过test访问到Inner类
      in.test();
      in2.test();
    }

    2.内部类的三种使用方法

    https://www.cnblogs.com/mayj/p/7027699.html

    3.匿名内部类的示例

    abstract class SayHello
    {
      public abstract void hello();
    }

    public class Test{
      public void hello(SayHello sh){
      sh.hello();
    }

    public static void main(String args[]){
      Test t = new Test();
      t.hello(new SayHello(){
        public void hello()
        {
          System.out.println("Hello!");
        }
      });
    }
    }

  • 相关阅读:
    深入解析委托和事件
    一个小型工程报价系统(三层架构)
    DONET三层架构开发初步
    VS项目重命名工具
    Visual Studio 2012 应用软件开发新方式
    Consumer is not subscribed to any topics or assigned any partitions
    kafka的一些常用命令
    横向遍历二叉树
    Flume的断点续传解决
    实际生产用法CMS和G1
  • 原文地址:https://www.cnblogs.com/ContinueLearning/p/10997485.html
Copyright © 2011-2022 走看看