stackserializable.java

来自「Java面向对象编程(随书配套源代码) 阐述了面向对象编程的思想」· Java 代码 · 共 54 行

JAVA
54
字号
package chapter11;
import java.io.Serializable;
import java.util.Vector;
import chapter7.*;
public class StackSerializable <T extends Animal & Serializable> 
{
	private  int stackSize = 100; //设置栈的大小
	Vector <T> stack =  new  Vector<T>();
	public StackSerializable (int size)
	{
		stack.setSize(size);
	}
	//压栈
	public  boolean push(T o)
	{
		if(stack.size() >= stackSize)
		{
			System.out.println("栈溢出");
			return false;
		}
		else
		{
		   return stack.add(o);
		}
	}
	//出栈
	public  T pop()
	{
		if(!isEmpty())
		{
		    T o  = stack.lastElement();
		    stack.remove(o);
		    return o;
		}
		else
		{
			System.out.println("栈空");
			return null;
		}
	}
	
    //判定栈是否为空
	public boolean isEmpty()
	{
		return stack.isEmpty();
	}
	
	public static void main(String args[])
	{
		//StackSerializable <Duck> duck = new StackSerializable<Duck>(10); 
		//边界不匹配,类型Duck并不是类型StackSerializable<T>的有界参数<T extends Animal & Serializable>的有效替代项    
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?