Lambda表达式 && 内部类

本文详细介绍了Java中的内部类,包括成员内部类、静态内部类、局部内部类和匿名内部类,强调了匿名内部类的特性和使用场景。接着探讨了Lambda表达式,阐述了其作为简化匿名内部类的语法糖的角色,以及Lambda表达式的定义、作用和在提高开发效率方面的优势,同时也指出其可能降低代码可读性的缺点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

内部类

一类中的类 被称为内部类

class Outer{
	 class Inner{
	 	//内部类
	  } 
}

一.成员内部类

声明在类以内 方法以外的类被称为成员内部类
地位相当于成员变量

语法:
class Outer{ 
	int a; 
	class Inner{
	} 
} 
1.编译过后会生成什么 
编译过后生成一个 名为 外部类类名$内部类类名.class 的字节码文件 用来区分内部类与外部类 
2.内部类中可以声明什么 
只可以声明非静态成员,不能声明静态成员 
3.内部类中可以使用什么 
a.可以使用本类以内所有的成员 
b.可以使用外部类的静态成员与非静态成员,私有的也可以使用 
c.外部类属性 内部类属性 局 部变量是可以命名冲突的,且依然局部变量优先 内部类属性---this.属性名 外部类属性---外部类类名.this.属性 
4.如何创建内部类的对象 
a.先创建外部类对象 
Outer out = new Outer(); 
b.使用特殊语法创建内部类对象 
外部类类名.内部类类名 对象名 = 外部类对象.new 内部类类名(参数); 
Outer.Inner inner = out.new Inner();

二.静态内部类

被static修饰的成员内部类 被称为静态内部类
地位相当于静态成员

语法:
class Outer{ 
int a; 
static class Inner{
} 
} 
1.编译过后会生成什么 
编译过后生成一个 名为 外部类类名$内部类类名.class 的字节码文件 用来区分内部类与外部类 
2.内部类中可以声明什么 
可以声明静态成员 与 非静态成员
后续有用!请记住: 静态内部类中可以定义静态初始化代码块,且外部类类加载时不会触发静态内部类的类加载
3.内部类中可以使用什么 
a.可以使用本类以内的内容 
b.只能使用外部类的静态成员 不能使用非静态成员 
c.外部类属性 内部类属性 局部变量是可以命名冲突的,且依然局部变量优先 
内部类属性---this.属性名 
外部类属性---外部类类名.属性名 
4.如何创建内部类的对象
 外部类类名.内部类类名 对象名 = new 外部类类名.内部类类名();

三.局部内部类 熟悉

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值