Java在不同的对象中使用泛型类对象

Java在不同的对象中使用泛型类对象

问题描述:

我认为这是一个简单的问题需要回答,如果已经被问到,请原谅重复。Java在不同的对象中使用泛型类对象

我正在使用JUNG-2.0.1工具集编写一个图形分析工具(如果您以前没有使用过非常酷的东西)。无论如何,我的Java程序中有以下类结构。

public edge() {} 
public vehicle() {} 
public car() extends vehicle {} 
public truck() extends vehicle {} 

现在,编写代码,如果我写的类头为

public customgraphviewer<vehicle, edge>() {} 

,将接受任何汽车的头被写成

public customgraphviewer<node, edge>() {} 

图形浏览器类时或卡车对象?我认为这将是因为从同一父类继承的两个类都有相同的类型。我是对的还是有我应该做的其他事情。

劳伦斯 -

+1

你必须学会​​泛型类型变量声明的语法。声明'public class Something '创建两个**新类型变量**,名为'Vehicle'和'Edge'。这些类型与您的'Vehicle'和'Edge'完全无关。 – 2015-02-11 20:47:17

+0

也是,你提供的类结构是* not * Java;在Java中,您使用'edge()'等构造函数,而不是类声明。此外,因为当小写名称是JLS兼容的类名? IFTFY - 如果您使用某种特定于应用程序的标记,请不要将其标记为一般的“java”,否则使用有效的Java约定代码。目前还不清楚你在这里问的是什么,以及你是否对当前主题有一点了解。 – vaxquis 2015-02-11 20:48:09

+0

我回滚我的修改,直到有人能向我解释*这里真正问到的是什么*。 – vaxquis 2015-02-11 20:54:30

我认为最好的办法是使用通配符参数,缩小它归结为已知的超:

public customgraphviewer<? extends vehicle, edge>() {} 
+0

这是什么?该行代码中没有任何部分是有效的Java。 – 2015-02-12 16:26:13