我的程序中子类为什么不能代替父类进行参数传递? 子类是父类, 父类不是子类,也就是说 book 是 item.你可以addItem(item), 自然也就能 addItem(book).所以,问题不是出在这上面。答案是:子类可以代替父类进行参数传递。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Book mybook = new Book("computer programming", (float)50.10);改为Item mybook = new Book("computer programming", (float)50.10);就可以了。addItem(Item item)方法的参数是Item型,不是Book型。 以上方法都不行。 错误信息如下:error unmarshalling arguments; nested exception is: java.lang.ClassNotFoundException: yyy.BookWHY?(编译正常通过) 是类没找到不是子类不能代替父类进行参数传递。有没有import? 这段程序没有错误啊,可能是其他地方引起的不信重写了这些代码并运行正确,请复制运行import java.util.*;class Item implements java.io.Serializable{ public String _title; public float _price; public Item(String title, float price) { _title = title; _price = price; } public String getTitle() { return _title; } public float getPrice() { return _price; }}class Book extends Item { public Book(String title, float price) { super(title,price); }}public class Test { private Vector items = new Vector(); public void addItem(Item item) { System.out.println("additem "); items.addElement(item); // £¨itemsΪvector) } public static void main (String args[]){ Test cart=new Test();// Item mybook = new Item("computer programming", (float)50.10);// cart.addItem(mybook);//ÒÔϳÌÐòÊÇ´íÎóµÄ£º(±àÒëͨ¹ý£¬ÔËÐдíÎó£© Book mybook = new Book("computer programming", (float)50.10); cart.addItem(mybook); }} 以上程序我运行了一下,是对的。我把方法additem方法放在了一个有状态会话bean里面,结果不对。 你的那个错误信息最后的yyy.Book是什么意思?你还有其他类名为Book的么?同个目录下? 用BufferedWriter往文件里写字符串提示这个? java学习笔记(必看经典) 在阅读JDK时发现的问题 如何计算一个字符串中包含多少个合法英文单词呢? 问个简单问题 大家别笑我 问一个时加减的问题,谢谢了,很急!!!!!!!!!!!!! UTF-8码怎么中文显示出来? 怎样才能往文件中写入正常的字符呀? 讨教黑白棋算法 问一个关于returnAddress的问题 JTextField问题,如何把由左向右输入改为由右向左输入! 关于jbuilder5安装的问题
改为Item mybook = new Book("computer programming", (float)50.10);
就可以了。
addItem(Item item)方法的参数是Item型,不是Book型。
error unmarshalling arguments; nested exception is:
java.lang.ClassNotFoundException: yyy.Book
WHY?(编译正常通过)
有没有import?
不信重写了这些代码并运行正确,请复制运行
import java.util.*;class Item implements java.io.Serializable
{
public String _title;
public float _price;
public Item(String title, float price)
{
_title = title;
_price = price;
}
public String getTitle()
{
return _title;
}
public float getPrice()
{
return _price;
}
}class Book extends Item { public Book(String title, float price)
{
super(title,price);
}
}
public class Test {
private Vector items = new Vector();
public void addItem(Item item) {
System.out.println("additem ");
items.addElement(item); // £¨itemsΪvector)
}
public static void main (String args[]){
Test cart=new Test();
// Item mybook = new Item("computer programming", (float)50.10);
// cart.addItem(mybook);//ÒÔϳÌÐòÊÇ´íÎóµÄ£º(±àÒëͨ¹ý£¬ÔËÐдíÎó£©
Book mybook = new Book("computer programming", (float)50.10);
cart.addItem(mybook);
}
}
我把方法additem方法放在了一个有状态会话bean里面,结果不对。
你还有其他类名为Book的么?
同个目录下?