匿名内部类脑补

原创 2017年01月03日 16:30:44

一、概念



匿名内部类,就是没有名字的内部类结构,因为其没有类名,所以也没有构造函数,初始化的时候使用的是构造块

它的具体实现过程如下

new 父类构造器(参数列表)| 实现接口()    
    {    
     //匿名内部类的类体部分    
    }  



二、程序解析


(1)继承抽象类的的实现方式

abstract class Person {
    public abstract void eat();
}
 
public class Demo {
    public static void main(String[] args) {
        Person p = new Person() {
            public void eat() {
                System.out.println("eat something");
            }
        };
        p.eat();
    }
}

运行结果:eat something


(2)继承接口的实现方式

水电费

interface Person {
    public void eat();
}
 
public class Demo {
    public static void main(String[] args) {
        Person p = new Person() {
            public void eat() {
                System.out.println("eat something");
            }
        };
        p.eat();
    }
}
运行结果:eat something

(3)在线程上的应用

public class Demo {
    public static void main(String[] args) {
        Thread t = new Thread() {
            public void run() {
                for (int i = 1; i <= 5; i++) {
                    System.out.print(i + " ");
                }
            }
        };
        t.start();
    }
}
运行结果:1 2 3 4 5


三、注意事项


(1)使用时必须继承一个类或者实现一个接口,只能是一个。

(2)没有类名,不能够定义构造函数

(3)不能存在任何的静态成员变量和静态方法

(4)为局部内部类,局部内部类的限制对匿名同样有效

(5)当方法的形参要在匿名内部类中使用时,该形参必须为final

为什么要用final:因为虽然外部的参数看似传进来了,但是实际上内部类中调用的是自己的属性,而不是外部方法传递的参数

我们使用final来使这个应用不可改变。




版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

java基础四种匿名内部类

  • 2017-08-09 23:08
  • 42.78MB
  • 下载

匿名内部类代码

  • 2012-12-06 10:57
  • 12KB
  • 下载

Java详解匿名内部类

一、使用匿名内部类内部类       匿名内部类由于没有名字,所以它的创建方式有点儿奇怪。创建格式如下: new 父类构造器(参数列表)|实现接口() { //匿...

Java 匿名内部类

java中的匿名内部类总结

  • 2013-10-09 21:57
  • 30KB
  • 下载

面向对象——匿名内部类

/* 匿名内部类: 1,匿名内部类其实就是内部类的简写格式。 2,定义匿名内部类的前提: 内部类必须是继承一个类或者实现接口。 3,匿名内部类的格式: new 父类或者接口(){定义子类的内容}...

关于匿名内部类的资料

  • 2009-07-19 03:27
  • 34KB
  • 下载

java中的匿名内部类总结

匿名内部类也就是没有名字的内部类 正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写 但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口   实例1:不使用匿名内部...
  • Baple
  • Baple
  • 2015-04-28 08:16
  • 413

JAVA_匿名内部类

  • 2012-08-16 12:56
  • 64KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)