JAVA 简单小问题

来源:百度知道 编辑:UC知道 时间:2024/04/28 19:37:16
class bb
{
void function()
{
System.out.println("李凡你好帅");
}

}
class mm extends bb
{
void function()
{
System.out.println("mmmmmm");
}
public static void main(String[] args)
{
bb b;
mm m=new mm();
b=m();
b.function();
}
}

目的:实验“向上转型”
但编译老失败。找不到符号
请指示!

你所做的是想让类mm继承bb,并复写里面的function()方法
在程序的倒数第四行 b = m() ;这里出问题了,子类向上转型不需要写(),这个是调用方法时用的,你改成b = m ;就可以运行成功

class bb
{
void function()
{
System.out.println("李凡你好帅");
}

}
class mm extends bb
{
void function()
{
System.out.println("mmmmmm");
}

public static void main(String[] args)
{
bb b;
mm m=new mm();
b=m;
b.function();
}