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

------- 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培训、期待与您交流! ---------- 

 

原文地址:https://www.cnblogs.com/runwind/p/4212200.html