广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州Java内部类型之匿名内部类_北大青鸟IT计算机学校

作者:邓华发布时间:2021-03-31分类:Java技术浏览:1002


导读:今天我们一起来继续学习Java内部类型中的匿名内部类,希望对大家的学习有帮助。

今天我们一起来继续学习Java内部类型中的匿名内部类,希望对大家的学习有帮助。

匿名内部类没有名称。因为它没有名称,它不能有一个构造函数。

匿名类是一次性类。您定义一个匿名类并同时创建它的对象。

创建匿名类及其对象的一般语法如下:

new Interface()  {
// Anonymous  class body  goes  here
}

new Superclass(<argument-list-for-a-superclass-constructor>)  {
// Anonymous  class body  goes  here
}

new运算符用于创建匿名类的实例。

它后面是现有的接口名称或现有的类名称。

接口名称或类名称不是新创建的匿名类的名称。

如果使用接口名称,则匿名类实现接口。

如果使用类名,则匿名类继承自类。

仅当新运算符后面跟有类名时,才使用<argument-list>。如果新运算符后跟接口名称,则它为空。

如果<argument-list>存在,它包含要调用的现有类的构造函数的实际参数列表。

匿名类主体像往常一样在大括号中。

匿名类主体应该简短,以便更好的可读性。

下面的代码包含一个简单的匿名类,它在标准输出上打印一条消息。

public class Main {  public static void main(String[] args) {    new Object() {      // An instance initializer      {
       System.out.println("Hello from  an  anonymous class.");
     }
   }; // A semi-colon is necessary to end the statement  }
}

上面的代码生成以下结果。

Hello from an anonymous class.

例2

以下代码使用匿名类来创建Iterator。

import java.util.ArrayList;import java.util.Iterator;public class Main {  private ArrayList<String> titleList = new ArrayList<>();  public void addTitle(String title) {
   titleList.add(title);
 }  public void removeTitle(String title) {
   titleList.remove(title);
 }  public Iterator<String> titleIterator() {    // An anonymous class    Iterator<String> iterator = new Iterator<String>() {      int count = 0;

     @Override      public boolean hasNext() {        return (count < titleList.size());
     }

     @Override      public String next() {        return titleList.get(count++);
     }
   }; // Anonymous inner class ends here
   return iterator;
 }
}

更多Java资讯关注网站动态,或者来惠州北大青鸟新方舟校区了解一下。

Java11.png

Java

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学校北大青鸟IT软件学校北大青鸟IT学校


Java技术排行
标签列表
网站分类
文章归档
最近发表