JAVA 定义子类的小代码 帮我看看哪错啦

来源:百度知道 编辑:UC知道 时间:2024/05/27 11:29:04
class A
{
public int a1=5;
public int a2=4;
protected int a3=3;
int a4=2;
int geta4()
{ return a4;}
}
class b extends A
{
int b1=1;
int sum;
{
return b1+al+a2+a3+geta4();
}
}
class IB2
{
public static void main(String[] args)
{
A a=new A();
B b=new B();
int sumA=a.a1+a.a2+a.a3+a.get4();
int sumB=sumA+b.b1;
System.out.println("A:"+sumA);
System.out.println("B:"+sumB+",B:"+b.sum());
}
}

一:代码第13行,书写错误,定义变量还是方法啊?代码原意应该是定义sum方法。-----";"改成"()"
int sum;
{
return b1+al+a2+a3+geta4();
}
改成
int sum()
{
return b1+al+a2+a3+geta4();
}

二:代码第10行,定义b类继承A,b类在后面的new对象过程是大写B,而对象是小写的b,所以把定义时的小写b改成大写B会节省改错时间。
class b extends A
改成
class B extends A

三:代码第24行,a.get4()没有这个方法,少写个a,应该是a.geta4()
int sumA=a.a1+a.a2+a.a3+a.get4();
改成
int sumA=a.a1+a.a2+a.a3+a.geta4();

问题多多

1.
int sum(){
return b1+al+a2+a3+geta4();
}
2.
int sumA=a.a1+a.a2+a.a3+a.geta4();

class A
{
public int a1=5;
public int a2=4;
protected int a3=3;
int a4=2;
int geta4()
{ return a4;}
}
class B extends A
{
int b1=1;
int sum()
{
return b1+a1+a2+a3+geta4();
}
}
public class C
{
public static void main(String[] args)