程序如下:
class Base //定义一个父类
{
public int i;
public void setData()
{
i = 20;
}
};
class Derive extends Base //子类
{
public void showData()
{
System.out.println(i);
}
};
class Test
{
public static void main(String[] args)
{
Base abase; //声明一个Base对象
abase = new Derive(); //初始化为Derive类
abase.setData(); //设置i...
abase.showData(); //这里就出错了..提示找不到.showData()....
}
}
/////////////////////////////////////////////////////////
我把声明Base abase;改成 Derive abase;就能通过结果为20......
这是为什么呢?~....
初学JAVA...卡住了..求教...不胜感激!~~
class Base //定义一个父类
{
public int i;
public void setData()
{
i = 20;
}
};
class Derive extends Base //子类
{
public void showData()
{
System.out.println(i);
}
};
class Test
{
public static void main(String[] args)
{
Base abase; //声明一个Base对象
abase = new Derive(); //初始化为Derive类
abase.setData(); //设置i...
abase.showData(); //这里就出错了..提示找不到.showData()....
}
}
/////////////////////////////////////////////////////////
我把声明Base abase;改成 Derive abase;就能通过结果为20......
这是为什么呢?~....
初学JAVA...卡住了..求教...不胜感激!~~
abase.showData(); //这里就出错了..提示找不到.showData()....
我把声明Base abase;改成 ;就能通过
------------------------
因为你申明的abase是Base的对象 而Base中没有showData方法 自然会提示找不到
改成Derive abase后 abase就是Derive的对象
你在写Derive的时候 类中有此方法 所以通过
----
我也初学 好不到哪去 互相学习下吧
解释不对的请指出
Derive abase中则有。
Base abase 是声明一个Base对象,所以abase中没有showData()方法~~
那么...abase = new Derive()是做什么处理呢?~~能帮我理解一下吗?~