Java高级语法笔记-匿名类(Anonymous Class)

匿名类(Anonymous Class)
匿名内部类,简称匿名类:是内部类的一种化简写法。
基本写法如下:
BaseType obj=new BaseType(){
//类的定义
}


Java项目中匿名类的写法十分常见。


匿名内部类也是内部类,所以语法上和内部类一样使用。
this. 访问本类对象的成员

OUTER.this 访问外部类OUTER对象的成员


AbstractClass.java

package my;

public abstract class AbstractClass
{
	public abstract void Print();
}



HelloWorld.java

package my;


public class HelloWorld
{
	public void CalledAbstractClassPrint() {
		AbstractClass Anonymous_Abstract=new AbstractClass() {

			@Override
			public void Print()
			{
				System.out.println("Anonymous_Abstract Called");
			}
			
		};
		Anonymous_Abstract.Print();
	}
	public void CalledNormalClassPrint() {
		NormalClass Anonymous_Normal=new NormalClass() {
			public void Print() {
				System.out.println("Anonymous_Normal called");
				super.Print();
			}
		};
		Anonymous_Normal.Print();
	}
	public void CalledInterfaceDemoPrint() {
		InterfaceDemo Anonymous_Interface=new InterfaceDemo() {

			@Override
			public void Print(){
				System.out.println("Anonymous_Interface called");
			}
		};
		Anonymous_Interface.Print();
	}
	public static void main(String[] args)
	{		
		HelloWorld t=new HelloWorld();
		t.CalledAbstractClassPrint();
		t.CalledNormalClassPrint();
		t.CalledInterfaceDemoPrint();
		
	} 
}



InterfaceDemo.java

package my;

public interface InterfaceDemo
{
	public void Print();
}



NormalClass.java

package my;

public class NormalClass
{
	private int data=10;
	public void Print() {
		System.out.println("The value of NormalClass is "+data);
	}
	
}


运行结果:



评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT1995

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值