java基础知识 17-2 匿名内部类

Posted 健康平安的活着

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java基础知识 17-2 匿名内部类相关的知识,希望对你有一定的参考价值。

一 匿名内部类

1.1 概述

匿名内部类也就是没有名字的内部类。正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写。

使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口。

匿名内部类访问格式: new  父类名称()定义子类内容   或者   new  父类接口() 定义子类内容

匿名内部类其实就是一个匿名的子类对象。

1.2 代码案例

1.代码


public abstract class Henan 
    public abstract void  show();




public class Zhengzhou extends Henan 
    int x=4;
    @Override
    public void show() 
        System.out.println("我是河南郑州"+x);
    




public class Test 
    public static void main(String[] args) 
        System.out.println("正常内部类的调用:======");
        Henan h=new Zhengzhou();
        h.show();
        System.out.println("匿名内部类的调用:======");
        new Henan()
            int x=4;
            public void show() 
            System.out.println("我是河南郑州"+x);
         .show();
    

2.调用方式:

Henan h=new Zhengzhou();

等价于

new Henan()
    int x=4;
    public void show() 
    System.out.println("我是河南郑州"+x);
 

整体是一个对象,是Henan的子类对象,这一堆其实是new zhengzhou()子类的相同功能。

new Henan() int x=4; public void show() System.out.println("我是河南郑州"+x); .show()

等价于

Henan h=new Zhengzhou();h.show();

 1.3 代码案例2

最常用的情况就是在多线程的实现上,因为要实现多线程必须继承Thread类或是继承Runnable接口

1.代码

 2.常规访问

 3.匿名内部访问

 

以上是关于java基础知识 17-2 匿名内部类的主要内容,如果未能解决你的问题,请参考以下文章

java基础学习——29匿名内部类

Java基础学习笔记十 Java基础语法之finalstatic匿名对象内部类

java基础之匿名内部类

阶段1 语言基础+高级_1-3-Java语言高级_02-继承与多态_第7节 内部类_14_匿名内部类的注意事项

Java基础之匿名内部类

java基础04 匿名内部类