天天看點

面向對象——匿名内部類

/*	
匿名内部類:
1,匿名内部類其實就是内部類的簡寫格式。
2,定義匿名内部類的前提:
	内部類必須是繼承一個類或者實作接口。
3,匿名内部類的格式:  new 父類或者接口(){定義子類的内容}
4,其實匿名内部類就是一個匿名子類對象。而且這個對象有點胖。	可以了解為帶内容的對象。
5,匿名内部類中定義的方法最好不要超過3個。


*/
abstract class AbsDemo
{
	abstract void show();
	
}


class Outer
{
	int x = 3;

	/*
	class Inner extends AbsDemo
	{
		int num = 90;
		void show()
		{
			System.out.println("show :"+num);
		}
		void abc()
		{
			System.out.println("hehe");
		}
	}
	*/

	public void function()
	{ 
		//AbsDemo a = new Inner();
//		Inner in = new Inner();
//		in.show();
//		in.abc();
	

		AbsDemo d = new AbsDemo()
		{
			int num = 9;
			void show()
			{
				System.out.println("num==="+num);
			}
			void abc()
			{
				System.out.println("haha");
			}
		};

		d.show();
		//d.abc();//編譯失敗;

		



	}
}



class InnerClassDemo4 
{
	public static void main(String[] args) 
	{
		new Outer().function();
	}
}