内部类精讲
来源:互联网 发布:会务软件 编辑:程序博客网 时间:2024/06/11 00:33
内部类就是在一个类的内部定义的类,内部类中不能定义静态成员,内部类可以直接访问外部类的成员变量。内部类可以定义在外部类方法的内部,也可以定义在外部类方法的外部。
例如:
public class Out
{
int n = 0;
public void list()
{
int m = 0;
class Inter //方法体内部定义类
{
public void method()
{
n = 2;
}
}
}
public class Inter1 //方法体外部定义类
{
}
}
在方法体外面定义的类可以是共有类型、似有类型、保护类型以及默认的类型,这就好像是外部类的成员变量。对于这种情况在创建内部类时需要首先创建外部类的实例对象,然后再由外部实例对象去创建内部类。
例如:Out out = new Out();
out.Inter1 inter = out.new Inter1();
在方法体内部定义的类前面不能有访问类型修饰符,这些类就好像方法体内部的局部变量一样,他们对其他类是不可见的,其他类无法引用这种内部类。但是这些类的实例对象可以传递给其他类访问。这种内部类必须先定义后使用。这些类可以访问方法体内部的局部变量,但是这些局部变量必须用final修饰符修饰。
最后,如果在方法体外部定义的类前面加上static关键字,那么这个类就变成Static Nested Class,它就不再具有内部类的特征,它与普通类在运行和功能上没有任何区别。只是在编程引用上有一些差别。它可以定义成多种类型。普通类只能定义成公共以及默认的类型。在外面引用这种类时使用外部类名.内部类名的方式。这种类不能直接访问外部类的非静态成员变量,只有生成实例对象后由实例对象访问非静态成员变量。在静态方法中定义的类也属于这种类,但是不能在类前面加static关键字。
- 内部类精讲
- 匿名内部类精讲
- 匿名内部类精讲
- 匿名内部类精讲
- 匿名内部类精讲
- 匿名内部类精讲
- 匿名内部类精讲
- 匿名内部类精讲
- Java——匿名内部类精讲
- java 本讲内容:内部类
- java 内部类(第二讲 staitc)
- Javaweb微专业第十二讲-----内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- DEV-C++
- UITabBarItem 只有图片,没有文字,图片居中
- 基于Java自带同步机制实现生产者-消费者模式
- CentOS:yum安装MySQL5.6并更改其默认路径
- awr中"PHYSICAL_MEMORY_BYTES"显示的内存是当前可用的物理内存
- 内部类精讲
- 【C/C++】运算符问题
- 作业《IOS_C语言》结构体、结构体数组
- 破解手机"私密相册"app的密码 wpjpg格式图片
- PHP namespace的定义
- 文字编码(文件IO流 )
- 随想录(高质量代码开发)
- Linux进程间通信--进程,信号,管道,消息队列,信号量,共享内存
- leetcode 223: Rectangle Area