老师给了我们一个作业。我的问题是如何创建一个类的对象。
我们有一个这样的堆栈接口。我将堆栈编码在另一个名为Stacks
public interface StackInterface<T> {
public void push(T newEntry);
public T pop();
public T peek();
public boolean isEmpty();
public boolean isFull();
public void clear();
}
我有名为Pen
Book
和Eraser
的类。
我必须创建这样的堆栈。用类名进行参数化。
public class TestClass {
Stacks<Pen> sPen=new Stacks<Pen>();
Stacks<Book> sBook=new Stacks<Book>();
Stacks<Eraser> sEraser=new Stacks<Eraser>();
Pen pen=new Pen();
Book book=new Book();
Eraser eraser=new Eraser();
}
但是我不能将任何东西压入堆栈。我必须在pen类中创建一个pen对象。我是这样创建吸气剂的。
public class Pen {
private Object name="Pen";
public Object getName() {
return this.name;
}
}
然后,我尝试将此项推送到TestClass中。请注意,我知道它返回Object。我刚试过
sPen.push(pen.getName());
但是它仍然给出错误。
基本上,我想创建一个Pen
对象。
答案 0 :(得分:2)
您的sPen
对象是Pen
类型的堆栈,因此您不能将Object
推入(getName()
)返回的对象。
相反,您可以像这样将笔推到堆栈上
sPen.push(pen);
答案 1 :(得分:0)
您正在创建Pen类型的堆栈,而不是String类型的
Stacks sPen = new Stacks();
sPen.push(新Pen())