Java 匿名类

本文介绍了Java中匿名类的概念,展示了匿名类如何继承父类并重写方法,以及如何实现接口并重写其方法。通过匿名类创建的对象可以直接调用重写的方法,无需显式实例化。同时强调了匿名类可以访问外部类的所有成员,并可以用非静态代码块进行初始化。
摘要由CSDN通过智能技术生成

匿名类

Java中可以实现一个类包含另一个类,不需要提供任何类名实例化,匿名是不能有名字的类,他们不能被引用,只有在创建时通过new来声明它们。

匿名类继承一个父类:

public class dome2{
	public static void main(String[] args) {
		pig p=new pig();
		p.print1();
    }
}

class Animal{    //父类
	public void print() {
		System.out.println("Animal内部");
	}
}

class pig{
	public void print1() {
		Animal d1=new Animal() {   //创建匿名类调用重写print方法
			 public void print() {
				 System.out.println("我是匿名类");
			 }
		};
	  d1.print();
	}
}

结果
我是匿名类10

匿名类实现接口:

public class dome2{
	public static void main(String[] args) {
		pig p=new pig();
		p.print1();
    }
}

interface Animal{    //接口,不实现
	public void print();
}

class pig{
	public void print1() {
		Animal d1=new Animal() {   //创建匿名类重写print方法
			 public void print() {
				 System.out.println("我是匿名类");
			 }
		};
	  d1.print();
	}
}

结果
我是匿名类

匿名类的注意事项:

  1. 匿名类与局部内部类一样,可以访问外部类的所有成员(Java8以后可以访问不带final类型的成员)。
  2. 匿名内部类中可以使用非静态代码块进行初始化操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值