Java内部类:Java静态内部类
静态内部类是指使用 static 修饰的内部类。示例代码如下:
上述示例中的 Inner 类就是静态内部类。静态内部类有如下特点。
(1) 在创建静态内部类的实例时,不需要创建外部类的实例。
(2) 静态内部类中可以定义静态成员和实例成员。外部类以外的其他类需要通过完整的类名访问静态内部类中的静态成员,如果要访问静态内部类中的实例成员,则需要通过静态内部类的实例。
(3) 静态内部类可以直接访问外部类的静态成员,如果要访问外部类的实例成员,则需要通过外部类的实例去访问。
public class Outer
{
static class Inner
{
//静态内部类
}
}
上述示例中的 Inner 类就是静态内部类。静态内部类有如下特点。
(1) 在创建静态内部类的实例时,不需要创建外部类的实例。
public class Outer
{
static class Inner{}
}
class OtherClass
{
Outer.Inner oi=new Outer.Inner();
}
(2) 静态内部类中可以定义静态成员和实例成员。外部类以外的其他类需要通过完整的类名访问静态内部类中的静态成员,如果要访问静态内部类中的实例成员,则需要通过静态内部类的实例。
public class Outer
{
static class Inner
{
int a=0; //实例变量a
static int b=0; //静态变量 b
}
}
class OtherClass
{
Outer.Inner oi=new Outer.Inner();
int a2=oi.a; //访问实例成员
int b2=Outer.Inner.b; //访问静态成员
}
(3) 静态内部类可以直接访问外部类的静态成员,如果要访问外部类的实例成员,则需要通过外部类的实例去访问。
public class Outer
{
int a=0; //实例变量
static int b=0; //静态变量
static class Inner
{
Outer o=new Outer;
int a2=o.a; //访问实例变量
int b2=b; //访问静态变量
}
}
所有教程
- socket
- Python基础教程
- C#教程
- MySQL函数
- MySQL
- C语言入门
- C语言专题
- C语言编译器
- C语言编程实例
- GCC编译器
- 数据结构
- C语言项目案例
- C++教程
- OpenCV
- Qt教程
- Unity 3D教程
- UE4
- STL
- Redis
- Android教程
- JavaScript
- PHP
- Mybatis
- Spring Cloud
- Maven
- vi命令
- Spring Boot
- Spring MVC
- Hibernate
- Linux
- Linux命令
- Shell脚本
- Java教程
- 设计模式
- Spring
- Servlet
- Struts2
- Java Swing
- JSP教程
- CSS教程
- TensorFlow
- 区块链
- Go语言教程
- Docker
- 编程笔记
- 资源下载
- 关于我们
- 汇编语言
- 大数据
- 云计算
- VIP视频