之前给大家介绍了一下java泛型集合方面的内容,下面要给大家介绍的就是泛型类方面的知识,一起通过简单的文章来进行一下了解吧。
泛型类
除了能够定义泛型集合之外,还能够直接限定泛型类的类型参数。
语法格式:public class class_name{}
在这当中,class_name表示类的名称,data_ type1等表示类型参数。
Java泛型支持声明一个以上的类型参数,只要将类型用逗号隔开就可以了。
泛型类一般用于类当中的属性类型不确定的情况下。
在声明属性的时候,使用下面的语句:private data_type1 property_name1;
private data_type2 property_name2;
这个语句当中的data_type1和类声明当中的data_type1表示的是同一种数据类型。
示例:
在实例化泛型类的时候,需要指明泛型类中的类型参数,并赋予泛型类属性相应类型的值。
例:
下面的示例代码创建了一个表示学生的泛型类,这个类当中包括3个属性,分别是姓名、年龄和性别。public class Stu
{
private N name; // 姓名
private A age; // 年龄
private S sex; // 性别
// 创建类的构造函数
public Stu(N name, A age, S sex)
{
this.name = name;
this.age = age;
this.sex = sex;
}
// 下面是上面3个属性的setter/getter方法
public N getName()
{
return name;
}
public void setName(N name)
{
this.name = name;
}
public A getAge()
{
return age;
}
public void setAge(A age)
{
this.age = age;
}
public S getSex()
{
return sex;
}
public void setSex(S sex)
{
this.sex = sex;
}
}
接着创建测试类。
在测试类当中调用Stu类的构造方法实例化Stu对象,并给这个类当中的3个属性赋予初始值,最终需要输出学生信息。
测试类的代码实现:public class Test14
{
public static void main(String[] args)
{
Stu stu = new Stu ("张晓玲", 28, '女');
String name = stu.getName();
Integer age = stu.getAge();
Character sex = stu.getSex();
System.out.println("学生信息如下:");
System.out.println("学生姓名:" + name + ",年龄:" + age + ",性别:" + sex);
}
}
程序的运行结果:学生信息如下:
学生姓名:张晓玲,年龄:28,性别:女
在这个程序的Stu类当中,定义了3个类型参数,分别使用N、A和S来代替,同时实现了这3个属性的setter/getter方法。
在主类当中,调用Stu类的构造函数创建了Stu类的对象,同时指定3个类型参数,分别为 String、Integer和Character。
在获取学生姓名、年龄和性别的时候,不需要类型转换,程序隐式地将Object类型的数据转换为相应的数据类型。
关于泛型类的内容就介绍到这里了,更多相关常见问题,可以继续的关注奇Q工具网来进行了解哦。
推荐阅读: