注释class Gent<T> { public void test() { System.out.println("gent"); } } public class Testa { public static void main( String[] args ) { Gent<? extends String> o; o = new Gent<String>(); o.test(); //o=new gent<Number>(); } }
时间: 2023-12-06 16:43:15 浏览: 158
这段代码定义了一个泛型类 Gent,其中 <T> 表示该类是一个具有泛型类型参数 T 的类。该类中有一个 test 方法,用于输出 "gent" 字符串。
在 Testa 类的 main 方法中,定义了一个泛型类型为 <? extends String> 的 Gent 类型的变量 o。这里的 <? extends String> 表示该泛型类型参数必须是 String 类型或其子类类型。然后将 o 初始化为一个实际类型参数为 String 的 Gent 对象。接着调用 o 的 test 方法,输出 "gent" 字符串。
注释掉的那一行代码 o=new gent<Number>(); 是错误的,因为 <? extends String> 要求泛型类型参数必须是 String 或其子类类型,而 Number 不是 String 或其子类类型。
相关问题
注释 class Gent<T> { public void test() { System.out.println("Gent"); } } class SupC { public String toString() { return "supA"; } } public class Bc extends SupC { String b; public Bc( String b ) { this.b = b; } public String toString() { return "subB"; } public void test( Gent<? extends SupC> o ) { System.out.println("Bc"); } public static void main( String[] args ) { Bc bc = new Bc("test"); Gent<Bc> oGent = new Gent<Bc>(); bc.test(oGent); } }
这段代码定义了一个泛型类Gent,其中有一个test方法打印"Gent";另外定义了一个SupC类和一个继承自SupC的Bc类,Bc类实现了toString方法并且有一个String类型的属性b;在Bc类中定义了一个test方法,该方法接收一个泛型类型为Gent且泛型参数必须是SupC或其子类的对象,方法中打印"Bc";最后在main方法中创建了一个Bc对象bc和一个泛型类型为Bc的Gent对象oGent,并调用bc的test方法传入oGent对象。在编译时,Bc类的test方法中的泛型参数会被擦除为SupC,因此可以接收一个泛型类型为Bc或其父类的Gent对象。最终输出结果为"Bc"。
gent password
Gent Password是一个随机密码生成器,可以帮助用户生成强密码。它可以在一定范围内生成随机的、复杂的密码,这些密码包括大小写字母、数字和特殊字符等。使用强密码可以有效地保护您的账户和个人信息的安全。
如果您需要生成一个新的密码,可以通过访问网站或者使用相关的应用程序来使用Gent Password服务。一般来说,您需要指定您需要的密码长度和包含哪些字符种类,然后系统会根据您的要求生成一个新的随机密码。
如果您还有其他关于密码的问题,欢迎继续提问。
阅读全文