JAVA中的show加方法名()

父类:publicclassGoods{publicvoidprice(){System.out.println("打印商品价格");}}子类:publicclassFo... 父类:
public class Goods{
public void price(){
System.out.println("打印商品价格");
}
}
子类:
public class Foodsextends Goods{
@Override
public void price() {
System.out.println("打印食品价格");
}
}
测试类:
public class test{
public static void main(String[] args) {
Goods good = new Goods();
Foods food = new Foods();
showPrice(good);
showPrice(food);
}
static void showPrice(Goods good){
good.price();
}
}
请问测试类中的showPrice的用意是神马?
展开
 我来答
乃大光明天e
推荐于2017-11-26 · 超过21用户采纳过TA的回答
知道答主
回答量:61
采纳率:0%
帮助的人:50.8万
展开全部
父类型,子类型做参数,没什么用意就是两个输出
你可以把测试类中的Foods food = new Foods(); 改成Goods food = new Foods();

那么两个输出的结果就是一样哦,因为类型一样了
追问
那我把

showPrice(good);
showPrice(food);
}
static void showPrice(Goods good){
good.price();
}
换成:
good.price
food.price
有什么区别吗?
追答
一个是方法,一个是值,何况你的Goods类里面,没有定义过price,再说你的good.price也需要一个申明呀,比如 int price=good.price;才对

你可以这样改父类:class Goods{
int price=3333;
public void price(){
System.out.println("打印商品价格");
}
然后static void showPrice(Goods good){
// good.price();
}里面可以写 int price=good.price;sout(price);
百度网友75bfa5c
2013-10-25 · TA获得超过154个赞
知道小有建树答主
回答量:137
采纳率:66%
帮助的人:75.1万
展开全部
静态方法,
静态方法可以用类名来调用这个方法。
非静态方法也叫实例方法,实例方法必须用对象来调用这个方法。
追问
那我把

showPrice(good);
showPrice(food);
}
static void showPrice(Goods good){
good.price();
}
换成:
good.price
food.price
有什么区别吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9abd129
2013-10-25 · TA获得超过356个赞
知道小有建树答主
回答量:167
采纳率:0%
帮助的人:144万
展开全部
静态的调用Goods类和Foods类中的price()方法,这里,因为你参数是父类的Goods类型,所以子类Foods类型可以转换成父类的Goods
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-10-25
展开全部
实际等同于
Goods good = new Goods();
Foods food = new Foods();
good.price();

food.price();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式