java内部类——匿名内部类

简介: java内部类——匿名内部类

匿名内部类

说明

  1. 本质是类
  2. 内部类
  3. 该类没有名字
    匿名内部类是定义在外部类的局部位置,比如方法中,并且没有类名
  4. 基本语法
new 类或接口(参数列表){
    类体
};
  1. 匿名内部类既是一个类的定义,同时它本身也是一个对象,因此从语法上看,它既有定义类的特征,也有创建对象的特征。因此可以调用匿名内部类方法。
    调用方法1
new A(){
    @Override
    public void cry(){
        sout();
    }
}.cry();

调用方法2

A a = new A(){
    @Override
    public void cry(){
        sout();
    }
};
a.cry();
  1. 可以直接访问外部类的所有成员,包含私有的
  2. 不能添加访问修饰符,因为它的地位就是一个局部变量
  3. 作用域:仅仅在定义它的方法或代码块中
  4. 匿名内部类--访问-->外部类成员
  5. 外部其它类---不能访问--->匿名内部类(匿名内部类的地位是一个局部变量)
  6. 如果外部类和匿名内部类的成员重名时,默认遵循就近原则,如果想访问外部类地位成员,可以使用(外部类名.this.成员)去访问
相关文章
|
5月前
|
Java 程序员
深入理解Java匿名内部类的语法和使用场景
深入理解Java匿名内部类的语法和使用场景
|
2月前
|
Java 编译器
【Java】内部类
【Java】内部类
22 0
|
4月前
|
Java
【Java基础面试二】、个Java文件里可以有多个类吗(不含内部类)?
这篇文章讨论了Java文件中类的定义规则,指出一个Java文件可以包含多个类(不包含内部类),但其中最多只能有一个public类,且如果有public类,它的名称必须与文件名一致。
|
4月前
|
算法 Java
12 Java常用类(一)(内部类+object类+包装类)
12 Java常用类(一)(内部类+object类+包装类)
41 5
|
5月前
|
Java
Java进阶之内部类
【7月更文挑战第13天】Java内部类增进代码组织与封装,允许直接访问外部类成员,包括私有成员。主要有四种类型:成员、静态、局部和匿名内部类。匿名内部类常用于一次性实现接口或扩展类。内部类可隐藏实现细节,减少命名冲突,并在特定上下文中定义辅助类。示例展示了静态和非静态内部类如何在Shape类中封装Circle和Rectangle。使用内部类能提升代码可读性,但可能增加复杂性。
39 6
|
4月前
|
Java
【Java】内部类、枚举、泛型
【Java】内部类、枚举、泛型
|
6月前
|
Java
一篇文章讲明白Java中内部类详解—匿名内部类
一篇文章讲明白Java中内部类详解—匿名内部类
96 2
|
5月前
|
Java
匿名内部类在Java编程中的应用与限制
匿名内部类在Java编程中的应用与限制
|
5月前
|
Java 程序员
深入理解Java匿名内部类的语法和使用场景
深入理解Java匿名内部类的语法和使用场景
|
6月前
|
Java
Java内部类相关内容总结和解读
Java内部类相关内容总结和解读
35 0