Java中空指针异常的帮助
我正在用java组装一个简单的模拟网络,在这里我可以添加计算机、服务器,并用以太网端口连接两个对象。这就是我调用“This.etherPort.addElement(t)”时抛出空指针异常的地方
import java.util.Vector;
public class Server extends Computer{
public Vector<Ethernet> etherPort;
public void addPort(Ethernet t)
{
this.etherPort.addElement(t);
}
}
当我使用以下代码创建新的Ethernet对象时,会运行此代码:
public class Ethernet {
公共计算机终端1、终端2; 公共int卷; 公共以太网(计算机术语、服务器术语2) { 这terminal1=术语; 这终端2=(计算机)终端2; 如果(术语!=null) { 学期地址端口(本); } 如果(term2!=null) { 第2条。地址端口(本); } } }
# 1 楼答案
你没有初始化向量。应该是:
# 2 楼答案
以太端口为空。显然,您从未使用实际向量初始化它。我想你想要:
# 3 楼答案
您需要实例化您的etherPort成员:
但是,您应该确保addPort()没有重写从计算机构造函数调用的方法。考虑到上下文,我假设它是安全的(即计算机没有addPort()方法)
正如下面的评论中所述,通常最好使用不约束容器实现的接口:最好将etherPort声明为
而不是
并使用以太端口。添加(元素),而不是特定于向量的添加元素方法