A constructor can be declared as generic, independently of whether the class that the constructor is declared in is itself generic. A constructor is generic if it declares one or more type variables. These type variables are known as the formal type parameters of the constructor. The form of the formal type parameter list is identical to a type parameter list of a generic class or interface. The interface constructor is generic.
Example:
GenericsTest.java
/** * This class is used to show the use of generics constructor. * @author w3spoint */ class Test { //Generics constructor public <T> Test(T item){ System.out.println("Value of the item: " + item); System.out.println("Type of the item: " + item.getClass().getName()); } } public class GenericsTest { public static void main(String args[]){ //String type test Test test1 = new Test("Test String."); Test test2 = new Test(100); } } |
Output:
Value of the item: Test String. Type of the item: java.lang.String Value of the item: 100 Type of the item: java.lang.Integer |
Generics constructor example with two parameters:
GenericsTest.java
/** * This class is used to show the use of * generics constructor with two parameters. * @author w3spoint */ class Test { //Generics constructor with two parameters. public <T, U> Test(T itemT, U itemU){ System.out.println("Value of the itemT: " + itemT); System.out.println("Type of the itemT: " + itemT.getClass().getName()); System.out.println("Value of the itemU: " + itemU); System.out.println("Type of the itemU: " + itemU.getClass().getName()); } } public class GenericsTest { public static void main(String args[]){ //String type test Test test = new Test("Test String.", 100); } } |
Output:
Value of the itemT: Test String. Type of the itemT: java.lang.String Value of the itemU: 100 Type of the itemU: java.lang.Integer |
Please follow and like us: