abstract class l_1//抽象类
{
protected String color;
public void setcolor(String str)
{
color = str;
}
abstract void show();
}
class l_2 extends l_1
{
int w , h;
public l_2 (int w1,int h1)
{
w=w1;
h=h1;
}
public void show()
{
System.out.print("color = "+color+",");
System.out.println("area = "+w*h);
}
}
class l_3 extends l_1
{
double r;
public l_3(double r1)
{
r=r1;
}
public void show ()
{
System.out.print("color = "+color+",");
System.out.println("area = "+r*r*3.14);
}
}
class l_4
{
public static void main (String [] args)
{
l_2 a = new l_2(4,5);
a.setcolor("yellow");
a.show();
l_3 b = new l_3(2.0);
b.setcolor("red");
b.show();
}
}
----------------解决方案--------------------------------------------------------
没有错啊
----------------解决方案--------------------------------------------------------
好象在抽象类中的方法:只能定义,不能具体实现,要在他的子类中实现.不知道对不对.
----------------解决方案--------------------------------------------------------
拼写错误...
{
protected String color;
public void setcolor(String str)
{
color = str;
}
abstract void show();
}
class l_2 extends l_1
{
int w , h;
public l_2 (int w1,int h1)
{
w=w1;
h=h1;
}
public void show()
{
System.out.println(\"color = \"+color+\",\");
System.out.println(\"area = \"+w*h);
}
}
class l_3 extends l_1
{
double r;
public l_3(double r1)
{
r=r1;
}
public void show ()
{
System.out.println(\"color = \"+color+\",\");
System.out.println(\"area = \"+r*r*3.14);
}
}
class l_4
{
public static void main (String [] args)
{
l_2 a = new l_2(4,5);
a.setcolor(\"yellow\");
a.show();
l_3 b = new l_3(2.0);
b.setcolor(\"red\");
b.show();
}
}
注意是只有抽象的方法只能声明不能定义 ,其他的方法可以哦
----------------解决方案--------------------------------------------------------
晕。。。大哥。。print没错吧。。println是加回车的输出。。
print就是不回车的输出。。。
我也搞不明白。。错在哪?一直告示我出错。。
----------------解决方案--------------------------------------------------------
ln是回车...但问题就在这里
应该改为println的 这是标准输出流...改完肯定没错的
----------------解决方案--------------------------------------------------------
谁说错了?
根本没有错,只是我复制你的代码到我的文档中的时候,会提示有非法字符,那是因为你用了全角的空格
删掉就编译通过了
在class l_3后面
----------------解决方案--------------------------------------------------------
class l_3 extends l_1
{
double r;
public l_3(double r1)
{
r=r1;
}
public void show ()
{
System.out.print("color = "+color+",");
System.out.println("area = "+r*r*3.14);
}
}
这两个括号是中文括号 应该为英文的
----------------解决方案--------------------------------------------------------
冰封说的没错,是在后面加了一个非法的字符!别的是没有错误的!
----------------解决方案--------------------------------------------------------
类名能用数字开始吗?class l_2 extends l_1
----------------解决方案--------------------------------------------------------