JAVA泛型编程 内部类怎么访问外部类模板参数

sysabod 2010-04-28 08:04:54
请看代码

//: generics/LinkedStack.java

// A stack implemented with an internal linked structure.

package generics;

public class LinkedStack<T> {

private static class Node {

T item;

Node next;

Node() { item = null; next = null; }

Node(T item, Node next) {

this.item = item;

this.next = next;

}

boolean end() { return item == null && next == null; }

}

private Node top = new Node(); // End sentinel

public void push(T item) {

top = new Node(item, top);

}

public T pop() {

T result = top.item;

if(!top.end())

top = top.next;

return result;

}

public static void main(String[] args) {

LinkedStack<String> lss = new LinkedStack<String>();

for(String s : "Phasers on stun!".split(" "))

lss.push(s);

String s;

while((s = lss.pop()) != null)

System.out.println(s);

}

} /* Output:

stun!

on

Phasers

*///:~


代码很简单,就是一对编译错误,我想让内部类Node直接访问模板参数T,而不是像这样声明Node<U>,请问应该怎么做呢?试了好几次都没成功,请大家不吝指教。
...全文
154 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sysabod 2010-04-29
  • 打赏
  • 举报
回复
问题已解决,把private static class Node的static去掉即可。
Lynn_20043745 2010-04-28
  • 打赏
  • 举报
回复
内部类同样写成泛型啊
 private static class Node<T> {}

62,621

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧