第一个程序中 方法private boolean ExcepDemo()不会执行,因为他不是构造方法 第二个程序中 选4 1)MyOver m = new MyOver();//默认的构造方法必须要写2)3)总是提示call to constructor must be first statement in constructor 我不知道怎么回事
must be first statement in constructor?
2:MyOver 已经有了一个带参数的构造函数了,编译器不会给默认的无参数的构造函数,所以 1)中 new MyOver()不对。同理,Base中也没有无参数的构造函数,所以 2)错。3)this("Hello",10),参数不匹配。
第一个程序中private boolean ExcepDemo()是一个方法,它被调用后,才能被执行。 如:ExcepDemo e = new ExcepDemo(); e.ExcepDemo();//建议方法的第一个字母小写。虽然这里的名字与类名相同,但它仍是一个方法,因为它有返回类型,构造函数中是无返回类型的。
import java.io.*; class Base { public static void amethod()throws FileNotFoundException{} } public class ExcepDemo extends Base { public static void main(String argv[]) { ExcepDemo e = new ExcepDemo(); } ///////////////////////////////////////////////////////// public static void amethod(int i)throws IOException{} private boolean ExcepDemo() { try { DataInputStream din = new DataInputStream(System.in); System.out.println("Pausing"); din.readChar(); System.out.println("Continuing"); this.amethod(); return true; } catch(IOException ioe) {} finally { System.out.println("finally"); } return false; } }====================================================== 我帮你整理了一下代码,如果按照你的代码,执行结果是空的!DataInputStream din = new DataInputStream(System.in);//在这行检测到错误,因为没有给出url,下面的不会执行,直接跳到catch语句,然后执行finnal,但是finnal执行中又去调用了父类的方法,所以结果是空了!只有finnal语句中了finnall
第一个程序中private boolean ExcepDemo()是一个方法,它被调用后,才能被执行。 如:ExcepDemo e = new ExcepDemo(); e.ExcepDemo();//建议方法的第一个字母小写。虽然这里的名字与类名相同,但它仍是一个方法,因为它有返回类型,构造函数中是无返回类型的。你的意思是它是方法,不是构造函数---因为它有返回类型?有因为方法没有被执行所以无返回,我的理解对不对?第二题,那个super我记得老师好像说是构造函数this,super只能放在第一行???
后面一个更加不明白了
方法private boolean ExcepDemo()不会执行,因为他不是构造方法
第二个程序中 选4
1)MyOver m = new MyOver();//默认的构造方法必须要写2)3)总是提示call to constructor must be first statement in constructor
我不知道怎么回事
如:ExcepDemo e = new ExcepDemo();
e.ExcepDemo();//建议方法的第一个字母小写。虽然这里的名字与类名相同,但它仍是一个方法,因为它有返回类型,构造函数中是无返回类型的。
class Base
{
public static void amethod()throws FileNotFoundException{}
}
public class ExcepDemo extends Base
{
public static void main(String argv[])
{
ExcepDemo e = new ExcepDemo();
}
/////////////////////////////////////////////////////////
public static void amethod(int i)throws IOException{}
private boolean ExcepDemo()
{
try
{
DataInputStream din = new DataInputStream(System.in);
System.out.println("Pausing");
din.readChar();
System.out.println("Continuing");
this.amethod();
return true; }
catch(IOException ioe) {}
finally
{
System.out.println("finally");
}
return false;
}
}======================================================
我帮你整理了一下代码,如果按照你的代码,执行结果是空的!DataInputStream din = new DataInputStream(System.in);//在这行检测到错误,因为没有给出url,下面的不会执行,直接跳到catch语句,然后执行finnal,但是finnal执行中又去调用了父类的方法,所以结果是空了!只有finnal语句中了finnall
第一个程序中private boolean ExcepDemo()是一个方法,它被调用后,才能被执行。
如:ExcepDemo e = new ExcepDemo();
e.ExcepDemo();//建议方法的第一个字母小写。虽然这里的名字与类名相同,但它仍是一个方法,因为它有返回类型,构造函数中是无返回类型的。你的意思是它是方法,不是构造函数---因为它有返回类型?有因为方法没有被执行所以无返回,我的理解对不对?第二题,那个super我记得老师好像说是构造函数this,super只能放在第一行???
但是finnal执行中又去调用了父类的方法,所以结果是空了父类的方法?不是System.out.println("finally");
吗???
第二个程序中,
选项2,super项是不能选滴,super构造函数只能在第一行,linkboy他老师说得真好,linkboy也记得很好。
选项3,那不是循环调用么?
期待被人P~
finally{ System.out.println("finally"); }
这句执行后就结束了啊,,,,不明白,呵呵
楼上的大哥,怎么循环调用了,那句啊,我怎么没有看出来啊...
finally{ System.out.println("finally"); }
这句执行后就结束了啊,,,,不明白,呵呵
2)A:构造方法MyOver()不存在,B:构造方法super()=Base()不存在,C:会默认调用super()=Base(),出错原因同B