匿名类

作者: 朱兰Juran | 来源:发表于2022-04-20 07:46 被阅读0次

    匿名类是一种即时继承现有类的方法。

    例如,下面有一个类 Computer:

    class Computer {

      public void start() {

        System.out.println("Starting");

      }

    }

    创建 Computer 对象时,我们可以即时更改 start 方法。

    public static void main(String[] args) {

      Computer c = new Computer() {

        @Override public void start() {

          System.out.println("Wooooo");

        }

      };

      c.start();

    }

    // 输出 "Wooooo";

    在构造函数调用之后,我们使用花括号,并且重写了 start 方法的实现。

    提示:@Override注解用于使代码更容易理解,因为当方法被重写时,它更加明显。


    修改只适用于当前对象,而不适用于类本身。

    所以,如果我们创建这个类的另一个对象,那么 start 方法的实现就是在类中定义的那个。

    class Computer {

      public void start() {

        System.out.println("Starting");

      }

    public static void main(String[] args) {

      Computer c1 = new Computer() {

        @Override public void start() {

          System.out.println("Wooooo");

        }

      };

      Computer c2 = new Computer();

      c2.start();

      }

    //输出 "Starting"

    相关文章

      网友评论

        本文标题:匿名类

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