龙空技术网

java-匿名类示例及其特点

瓦下枯草 87

前言:

而今小伙伴们对“java匿名类写法”大致比较关怀,兄弟们都需要学习一些“java匿名类写法”的相关内容。那么小编也在网络上搜集了一些有关“java匿名类写法””的相关文章,希望咱们能喜欢,看官们快快来了解一下吧!

定义

匿名类,就是没有过名称的类,其名称由java编译器给出。一般是:外部类名称+$+匿名类顺序。没有名称就是其他地方不能引用,不能实例化,也不能有构造器。

匿名内部类示例

interface StudentInterface { String getInfo();}@Datapublic class AnonymousStudent { private String no; private String name; public String getCard() { StudentInterface info = new StudentInterface() { @Override public String getInfo() { return no + "_" + name; } }; return info.getInfo(); } public String getCard(StudentInterface studentInterface) { return studentInterface.getInfo(); } public static void main(String[] args) { AnonymousStudent student = new AnonymousStudent(); student.setNo("no000001"); student.setName("name00001"); System.out.println("匿名类,方式一" + student.getCard()); String result = student.getCard(new StudentInterface() { @Override public String getInfo() { return student.no + student.name; } }); System.out.println("匿名类,方式二:" + result); }}
匿名内部类的特点匿名类有上述两种主要实现方式。匿名内部类只能使用一次,不区分static和非static。如果用到外部类的变量的话,必须是类变量或者实例变量,就是必须是类定义的变量,或者final的局部变量。匿名内部类如果是继承某个类的时候,可以重写那个类的方法。可以使用匿名内部类的地方,都可以替换为内部类。匿名类的类体不可以声明static成员变量和static方法。

标签: #java匿名类写法