黑马程序员技术交流社区
标题:
好几个问题,给解释下吧
[打印本页]
作者:
小洋人最happy
时间:
2012-11-27 17:03
标题:
好几个问题,给解释下吧
/*
使用LinkedList模拟一个堆栈或队列的数据结构
堆栈:先进后出
队列:先进先出
*/
import java.util.*;
class DuiLie
{
private LinkedList link;//是否可以写成private LinkedList link = new ListedLink();
DuiLie()
{
link = new LinkedList(); //这句话是对link进行初始化吗?
}
public void Myadd(Object obj)//为什么使用Object obj
{
link.addFirst(obj);
}
public Object Myget()//为什么使用Object? 为什么()不添加参数呢?和上面添加参数的有什么区别呢?
{
return link.removeLast();
}
public boolean isNull()
{
return link.isEmpty();
}
}
class LinkedListTest
{
public static void main(String[] args)
{
DuiLie dl = new DuiLie();
dl.Myadd("java01");
dl.Myadd("java02");
dl.Myadd("java03");
dl.Myadd("java04");
while (!dl.isNull())
{
System.out.println(dl.Myget());
}
}
}
作者:
ssx0101
时间:
2012-11-27 17:55
class DuiLie
{
private LinkedList link;//是否可以写成private LinkedList link = new ListedLink();
答:可以,不过没必要,应为在构造函数里已经有初始化操作,这样会创建两个ListLink对象。
DuiLie()
{
link = new LinkedList(); //这句话是对link进行初始化吗?
答:是
}
public void Myadd(Object obj)//为什么使用Object obj
答:Object是所有类的基类,这样这个方法就可以处理任何类型(基本数据类型除外)的参数了
{
link.addFirst(obj);
}
public Object Myget()//为什么使用Object? 为什么()不添加参数呢?和上面添加参数的有什么区别呢?
答:添加参数的目的是把“原料”交给方法。这个方法的原料“link”是类的私有成员,可以直接使用,不需要从外部传入。
{
return link.removeLast();
}
public boolean isNull()
{
return link.isEmpty();
}
}
class LinkedListTest
{
public static void main(String[] args)
{
DuiLie dl = new DuiLie();
dl.Myadd("java01");
dl.Myadd("java02");
dl.Myadd("java03");
dl.Myadd("java04");
while (!dl.isNull())
{
System.out.println(dl.Myget());
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2