您的位置:首页 > 职场人生

黑马程序员——JAVA基础之内部类,匿名内部类

2014-11-24 22:22 375 查看
------- android培训、java培训、期待与您交流!
----------

内部类

将一个类定义在另一个类的里面,对里面那个类就称为内部类(内置类,嵌套类)。

内部类访问特点:

• 内部类可以直接访问外部类中的成员,包括私有成员。

• 而外部类要访问内部类中的成员必须要建立内部类的对象。

内部类的位置:

内部类定义在成员位置上:

• 可以被private static成员修饰符修饰。

• 被static修饰的内部类只能访问外部类中的静态成员。

内部类定义在局部位置上:

• 也可以直接访问外部类中的成员。

• 同时可以访问所在局部中的局部变量,但必须是被final修饰的。

内部类应用:

当描述事物时,事物的内部还有事物,该事物用内部类来描述。因为内部事务在使用外部事物的内容。

class Niu//例:牛魔王与孙悟空
{
private int x = 3;

class Hou//内部类可以调用外部类数据
{

int x = 4;
void speak()
{
int x = 5;
System.out.println(x);//直接打印5,打印4用this.,打印3用Niu.this.。
}
}
void run()//外部类访问内部类必须建立内部类对象
{
Hou h = new Hou();
h.speak();
}
}

class  Demo
{
public static void main(String[] args)
{
Niu.Hou n = new Niu().new Hou();//格式,一般用不到
n.speak();
}
}


匿名内部类: 就是内部类的简化写法。

匿名内部类的前提:

• 内部类可以继承或实现一个外部类或者接口。

匿名内部类的格式为:

• new 外部类名或者接口名(){覆盖类或者接口中的代码,(也可以自定义内容。)}

简单理解匿名内部类:

• 就是建立一个建立一个带内容的外部类或者接口的子类匿名对象。

------- android培训、java培训、期待与您交流!
----------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: