zoukankan      html  css  js  c++  java
  • java-匿名内部类

    1、匿名内部类:就是内部类的简化写法。

     -  匿名内部类是局部内部类的一种,所以匿名内部类也应该写在方法里。

    2、前提:存在一个类或者接口。(这里的类可以是具体类也可以是抽象类)

    3、格式:

     -  new 类名或者接口名(){ 重写方法; }

    4、本质是什么呢?是一个继承了该类或者实现了该接口的子类匿名对象。

    5、其他:

     -  匿名内部类只针对重写一个方法的时候使用。调用多次的时候,不适合,匿名对象调用完毕就是垃圾,可以被垃圾回收器回收。

     -  匿名内部类是不能向下转型的,因为没有子类类名。

    6、例:

     1 class Demo {
     2     public static void main(String[] args) {
     3         Outer o = new Outer();
     4         o.method();
     5     }
     6 }
     7 
     8 interface Inter {
     9     public void show1();
    10     public void show2();
    11 }
    12 
    13 //匿名内部类只针对重写一个方法时候使用
    14 class Outer {
    15     public void method() {
    16         /*new Inter(){
    17             public void show1() {
    18                 System.out.println("show1");
    19             }
    20 
    21             public void show2() {
    22                 System.out.println("show2");
    23             }
    24         }.show1();*/
    25 
    26         Inter i = new Inter(){
    27             public void show1() {
    28                 System.out.println("show1");
    29             }
    30 
    31             public void show2() {
    32                 System.out.println("show2");
    33             }
    34 
    35             /*public void show3() {
    36                 System.out.println("show3");
    37             }*/
    38         };
    39 
    40         i.show1();
    41         i.show2();
    42         //i.show3();                        //匿名内部类是不能向下转型的,因为没有子类类名
    43     }
    44 }
  • 相关阅读:
    2019 SDN阅读作业
    第02组 Alpha冲刺(2/6)
    2019 SDN上机第3次作业
    第02组 Alpha冲刺(1/6)
    2019 SDN上机第2次作业
    bzoj 3207 可持久化线段树
    bzoj 3524 可持久化线段树
    HDU 4757 可持久化trie树
    bzoj 3197 DP
    poj 2104 可持久化线段树
  • 原文地址:https://www.cnblogs.com/hfumin/p/10150403.html
Copyright © 2011-2022 走看看