java------内部类
来源:互联网 发布:视频系统源码 编辑:程序博客网 时间:2024/05/16 01:08
一:内部类:
内部类的访问规则:
1.内部类可以直接访问外部类中的成员,包括私有的。
如果内部类要访问外部类中的成员,则要在内部类中持有一个外部类的引用
格式为: 外部类名.this
2.外部类要访问内部类,必须建立内部类对象。
内部类定义在局部时:
1 不可以被成员修饰符修饰
2 可以直接访问外部类中的成员,因为还持有外部类中的引用 但是不可以访问它所在的局部中的变量。只能访问被final修饰的局部变量。
访问格式:
当内部类定义在外部类的成员位置上,而且非私有,可以在外部其他类中。
可以直接建立内部类对象。
格式:
外部类名.内部类名 变量名 = new外部类名.new内部类名
单个内部类在乘员位置上,就可以被成员修饰符。
比如:privae:将内部类在外部类中进行封装
Static:内部类具备了静态的特性
当内部类被static修饰后,只能直接访问外部类中的static成员,局限性。
二:匿名内部类:
1 匿名内部类其实就是内部类的简写形式
2 定义匿名内部类的前提 内部类不惜继承一个类或者实现接口
格式:
3 new 父类 或接口(){定义子类内容}
4 匿名内部类就是一个匿名子类对象
内部类例子:
class Outer
{
private int x =3;
class Inner
{
void function()
{
System.out.println("innwe: " +x);
}
}
void method(){
Inner in = new Inner();
in.function();
}
}
public class InnerClassDemo
{
public static void main(String[] args)
{
Outer out = new Outer();//第一种方式
out.method();
//直接访问内部类的成员
Outer.Inner in = new Outer().new Inner();
in.function();
}
}
匿名内部类例子:
abstract class AbsDemo{//定义抽象类
abstract void show();
}
class Outer1{
int x = 3;
public void function(){
new AbsDemo()//这就是匿名内部类
{
void show()
{
System.out.println("show = " + x);
}
}.show();
}
}
public class InterClassDemo2
{
public static void main(String[] args){
Outer1 o = new Outer1();
o.function();
}
}
- 【Java】【内部类】Java 内部类简介
- [Java] Java 内部类
- Java 内部类(成员内部类、局部内部类、静态内部类和匿名内部类)
- Java内部类(成员内部类、静态内部类、局部内部类、匿名内部类)小结
- Java内部类(成员内部类、静态内部类、局部内部类、匿名内部类)小结
- Java内部类(成员内部类、局部内部类、静态内部类、匿名内部类)
- Java内部类(成员内部类、静态内部类、局部内部类、匿名内部类)小结
- Java内部类(成员内部类、静态内部类、局部内部类、匿名内部类)小结
- Java内部类(成员内部类、静态内部类、局部内部类、匿名内部类)小结
- java的内部类、匿名内部类、局部内部类
- java内部类之成员内部类、静态内部类
- java 成员内部类 局部内部类,匿名内部类
- Java 静态内部类/内部类
- java内部类、静态内部类 小结
- Java内部类,静态内部类
- JAVA 内部类与静态内部类
- java内部类--局部内部类
- Java 内部类以及匿名内部类
- shell 重定向
- java------多态
- 如何把开发机器运行速度搞快些
- Ubuntu 10.04 修改登录分辨率
- Sencha touch 开发系列:容器组件:tabpanel,carousels
- java------内部类
- 10 个基于 Web 的 HTML5 音乐播放器
- Tomcat架构分析之Connector BIO 实现
- PHP程序员最常犯的11个MySQL错误
- 网址解析
- Tomcat架构分析之Connector NIO 实现
- github基于一个正在review的分支创建新分支
- IE6为什么在中国还活得很好
- AJAX也有安全隐患,谈谈AJAX的安全性