Java中的内部类
来源:互联网 发布:疯狂java讲义下载 编辑:程序博客网 时间:2024/06/09 21:18
首先,什么是内部类?
内部类就是定义在另外一个类里面的类。
主要有以下几个作用:
1,内部类提供了更好的封装,可以把内部类隐藏在外部类之内,不允许同一个包中的其他类访问该类。
2,内部类的方法可以直接访问外部类的所有数据,包括私有的数据。
3,内部类所实现的功能使用外部类同样可以实现,只是有时使用内部类更方便。
内部类的分类:
1,成员内部类
2,静态内部类
3,方法内部类
4,匿名内部类
一个简单的内部类例子:
//外部类HelloWorld
public class HelloWorld{
//内部类Inner,类Inner在类HellooWorld类里面
public class Inner{
//内部类的方法
public void show(){
System.out.println("wellcome to my blog");
}
}
public static void main(String[ ] args){
//创建外部类对象
HelloWorld hello = new HelloWorld();
//创建内部类对象
Inner i = hello.new Inner();
//调用内部类对象的方法
i.show();
}
}
注意事项:
1,外部类不能直接使用内部类的成员和方法。一般都是通过创建内部类的对象,然后通过内部类的对象来访问其成员变量和方法。
2,如果外部类和内部类具有相同的成员变量和方法,内部类默认访问自己的成员变量或方法,如果要访问外部类的成员变量,需要使用this关键字。
静态内部类
特点:1,静态内部类不能直接访问外部类的非静态成员,但可以通过new() 外部类().成员 的方式访问。
2,如果外部类的静态成员与内部类的成员名称相同,可以通过“类名.静态成员” 访问外部类的静态成员;如果外部类的静态成员与内部类的成员名称不相同,则可通过“成员名” 直接调用外部类的静态成员
3,创建静态内部类的对象时,不需要外部类的对象,可以直接创建:内部类 对象名 = new 内部类();
一个简单的静态内部类例子:
//外部类
Public class Out{
private int a = 1;//外部类的私有变量
static int b = 2;//外部类的静态变量
//静态内部类
public static class Inner{
int b = 3;//内部类的变量
public void test(){
System.out.println("访问外部类中的b"+Out.b);
System.out.println("访问内部类的b"+b);
}
}
//测试静态内部类
public static void main(String[ ] args){
Inner s = new Inner();//直接创建内部类的对象
s.test();//调用test方法
}
}
- java中的内部类
- JAVA中的内部类
- java 中的内部类
- java中的内部类
- Java中的内部类
- JAVA 中的内部类
- java中的内部类
- java 中的内部类
- java中的内部类
- Java中的内部类
- java中的内部类
- Java 中的内部类
- java 中的内部类
- java中的内部类
- Java中的内部类
- java中的内部类
- Java中的内部类
- java中的内部类
- linux简介
- hadoop-2.7 在windows环境下安装
- JDBC6大部以及JDBC通用添加修改任意的sql数据
- X86内核启动分析五 保护模式小荷尖尖角
- ServletContext介绍 ,request response中文乱码问题
- Java中的内部类
- 为什么在这里记录学习过程
- 斐波那契数列的最优算法(golang代码)
- 区块链开源项目Asch源码初探
- python matplotlib参数
- 实时同步脚本
- Unity3D之OpenGL图像库
- Java网络编程之IP地址和InetAddress类
- inode号与软硬链接