地下综合管廊试点城市:指出错在哪里并改正

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/04 19:02:22
1、class MyClass
{ int var=100;
static int getVar()
{
return var;
}
}
2、public class MyClass
{
int data;
void MyClass(int d)
{ data=d;}
}
3、public class MyMain
{
public static void main(String args[ ])
{ System.out.println(MyClass1.data);}
}
class MyClass1
{
int data=10;
}
4、class IamAbstract
{
final int f;
double d;
abstract void method();
}
5、class parent
{
private int mine;
}
class child extends parent
{
int getMine()
{ return mine; }
}
6、class parent
{
private int mine;
int getMine( )
{
return mine;
}
}
class child extends parent
{
int mine;
int getMine( )
{ return super.getMine; }
}
7、 class AmIWrong
{
int data1,data2;
AmIWrong()
{ data1=-1; }
AmIWrong(int d)
{ data2=d;
this();
}
}

8、public static void main(String args[ ])
{
try{
char ch=(char)System.in.read();
. . .//其他语句
}
catch(Exception e)
{
return;
}
catch(IOException e)
{
System.out.println(e.toString());
}
}
?? ??

1.静态方法不能返回非静态变量
因为静态方法是在程序一运行就构造了的
而非静态变量那时候还没构造,所以会出错
return var; 这句错误
把int var=100改为static int var=100

2.void MyClass(int d)这句是构造函数
构造函数不用写void
改为MyClass(int d)

3.System.out.println(MyClass1.data)这句错误
因为data不是静态的,所以不能用类名加.来调用,要声明类对象
改为System.out.println((new MyClass1()).data)

4.错误可能是这个final int f;
这个是常量了,可能得付初值
改为final int f=1;

5.私有变量不能被继承
错误这句private int mine;
改为public int mine;

6.return super.getMine少括号
改为return super.getMine();

7.没有this();方法
去掉this();

8.没看出来

1.static 函数只能访问static的变量 var 不是static变量 static int var = 100
2.构造函数没有返回值,去掉void
3.data 不是类成员变量,不能通过类名访问,static int data =10
4.有抽象方法(abstract修饰)的函数是抽象函数,不能有final 变量,去掉final
5.private变量不能被继承,改为protected
6.getMine没有virtual修饰,子类会覆盖父类的同名方法。在父类中加上virtual修饰getMine
7.构造方法不能调用其它构造方法,去掉this()
8.IOException 是Exception的子类,catch是从上到下匹配的,这样的话IOException永远不会被匹配到,交换IOException和Exception的位子