弹簧引导实现跺脚协议的WebSocket的方法步骤

  


  

  

我们之前讨论过Java泛型的基础知识。在本文中,我们将了Java中解的通用构造函数。泛型构造函数是至少需要有一个泛型类型参数的构造函数。我们将看到泛型构造函数并不都是在泛型类中出现的,而且并非所有泛型类中的构造函数都必须是泛型。

  


  

  

首先,先写一个简单的类:条目,它不是泛型类:

        公共类条目{   私人字符串数据;   私人int等级;   }      之前      

在这个类中,我们将添加两个构造函数:一个带有两个参数的基本构造函数和一个通用构造函数。

  

<强> 2.1基本构造器
  

  第

条目一个构造函数:带有两个参数的简单构造函数:

        公共入口(字符串数据,int排名){   这一点。数据=https://www.yisu.com/zixun/data;   这一点。排名=等级;   }      之前      

现在,让我们使用这个基本构造函数来创建一个条目对象

        @Test   公共空间givenNonGenericConstructor_whenCreateNonGenericEntry_thenOK () {   输入条目=新条目(“样本”,1);      assertequal(“样本”,entry.getData ());   assertequal (entry.getRank ());   }      之前      

<强> 2.2泛型构造器
  

  

接下来,第二个构造器是泛型构造器:

        公共& lt; E Rankable延伸,Serializable>条目(E元素){   这一点。data=https://www.yisu.com/zixun/element.toString ();   这一点。排名=element.getRank ();   }      之前      

虽然条目类不是通用的,但它有一个参数为E的泛型构造函数。

  

泛型类型E是受限制的,应该实现Rankable和序列化接口。

  

现在,让我们看看Rankable接口、下面是其中一个方法:

        公共接口Rankable {   公共int getRank ();   }      之前      

假设我们有一个实现Rankable接口的类——产品

        公共类产品实现Rankable Serializable {   私人字符串名称;   私人双价格;   私人int销售;      公共产品(字符串名称、双价格){   this.name=名称;   这一点。价格=价格;   }      @Override   公共int getRank () {   返回销售;   }   }      之前      

然后我们可以使用泛型构造函数和产品创建条目对象:

        @Test   公共空间givenGenericConstructor_whenCreateNonGenericEntry_thenOK () {   产品产品=新产品(“牛奶”,2.5);   product.setSales (30);      输入条目=新条目(产品);      entry.getData assertequal (product.toString () ());   assertequal (30, entry.getRank ());   }      之前      


  

  

接下来,我们看一下泛型类:GenericEntry

        公开课GenericEntry{   私人T数据;   私人int等级;   }      之前      

我们将在此类中添加与上一节相同的两种类型的构造函数。

  

<强> 3.1基础构造器
  

  

首先,让我们为GenericEntry类编写一个简单的非泛型构造函数:

        公共GenericEntry (int排名){   这一点。排名=等级;   }      之前      

尽管GenericEntry是泛型类,但这是一个简单的,没有任何参数的构造函数。

  

现在,我们可以使用此构造函数来创建GenericEntry:

        @Test   公共空间givenNonGenericConstructor_whenCreateGenericEntry_thenOK () {   GenericEntry输入=new GenericEntry (1);      assertNull (entry.getData ());   assertequal (entry.getRank ());   }      之前      

<强> 3.2泛型构造器
  

  

接下来,在类中添加第二个构造函数:

        公共GenericEntry (T数据,int排名){   这一点。数据=https://www.yisu.com/zixun/data;   这一点。排名=等级;   }      之前      

这是一个泛型构造函数,它有一个泛型类型T的数据参数。注意,我们不需要在构造函数声明中添加,因为它是隐含的。

  

现在,让我们测试一下通用构造函数:

弹簧引导实现跺脚协议的WebSocket的方法步骤