java关于子类方法的调用

[复制链接]
查看11 | 回复4 | 2010-9-18 11:09:40 | 显示全部楼层 |阅读模式
小弟初学求各位大虾帮忙看看哪里出的问题
class father{
private String a;
private int b;
father(){
this("haha",10);
}
father(String a,int b){
this.a=a;
this.b=b;
}
public void fshow(){
System.out.println(a);
System.out.println(b);
}
}
class son extends father{
private double c;
son(){

super("hehe",3);

c=5;
}
son(String a,int b,double c){

super("xxxx",2);

this.c=c;
}
public void show(){

fshow();

System.out.println(c);
}
}
public class test{
public static void main(String[] args){
father a=new son();
a.show();
}
}
为什么报错说是找不到方法show()??
父类对象引用变量创建子类对象不可以么调用子类方法么?

回复

使用道具 举报

千问 | 2010-9-18 11:09:40 | 显示全部楼层
java安全通用的是向上转型,即可以把导出类作为基类来处理,导出类(子类)包含基类(父类)的方法,而不是相反,所以你创建基类对象a为Father类,本来就不包含show方法。另外注意类名构函等最好首字母大写。
回复

使用道具 举报

千问 | 2010-9-18 11:09:40 | 显示全部楼层
a是father,本来就没有show
回复

使用道具 举报

千问 | 2010-9-18 11:09:40 | 显示全部楼层
show()方法中要输出的变量C在类son中定义为私有的,所以到主类中就用不了。把private改成public试试。
回复

使用道具 举报

千问 | 2010-9-18 11:09:40 | 显示全部楼层
父类对象引用变量创建子类对象不可以么调用子类方法么?不可以
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行