天天看點

四種不同的内部類的應用範疇

/*
//靜态内部類
class Test
{
	private static int a=10;
	//public static void method(int x,int y)
	//{
	//	System.out.println(x+y);
	//}
	
	public static class MyTest
	{
		public void method()
		{
			System.out.println(a);
		}
	}
}
 public class InnerTest1
 {
	 public static void main(String args[])
	 {
		 Test.MyTest test=new Test.MyTest();
		 test.method();
	 }
 }
 */

/* 
 //成員内部類
class Me
{
	private  int  a=10;
	public class MyMe
	{
		private  int a=9;
		public void dos()
		{
			System.out.println(Me.this.a);
		}
	}
}
public class InnerTest1
{
	public static void main(String args[])
	{
		Me.MyMe mee=new Me().new MyMe();
		mee.dos();
	}
	
}
*/

//局部内部類
/*
class LocalTest
{
	public void method()
	{
		final  int a=10;
		class Inner3
		{
			public void doSomethind()
			{
				System.out.println("hello world");
				System.out.print(a);
			}
		}
		Inner3 inner=new Inner3();
		inner.doSomethind();
	}
}
public class InnerTest1
{
	public static void main(String args[])
	{
		LocalTest local=new LocalTest();
		local.method();
		
	}
}
*/


//匿名内部類

import java.util.*;
public class InnerTest1
{
	@SuppressWarnings("deprecation")
	public String get(Date date)
	{
		return date.toLocaleString();
	}
	public static void main(String args[])
	{
		
		InnerTest1 test=new InnerTest1();
		//String str=test.get(new Date());
		//System.out.println(str);
		String str=test.get(new Date()
		{
			@Override
			@Deprecated
			public String toLocaleString() {
				// TODO Auto-generated method stub
				return "Love You !";
			}
		});
		System.out.println(str);
	}
}