class SupperClass {
String name;
public void SuperClass(){

}
public void  SupperClass(String s) {
System.out.println("SupperClass "+s);
} public void doSupper(String s) {
name = s;
System.out.println("SupperClass " + name);
}
}class SubClass extends SupperClass {

public void doSub(String name) {
super();
super.SupperClass("sun");
super.doSupper("hello");
System.out.println("SubClass");
}}public class ClassInt {
public static void main(String[] args) {
SubClass sub = new SubClass();
sub.doSub("abcd");

}}
/*
请求各位大侠?堆java热爱的朋友路过看下?
具体两个问题?
1.这个程序出出现什么错误?为什么?
2.假若去掉super();这个程序是否会子类是否会调用默认的构造方法,public void SuperClass()这是要调用默认的构造方法吗?“abcd”结果只是否会显示?*/

解决方案 »

  1.   

    public   void   doSub(String   name)   {
    super();
    super.SupperClass("sun");
    super.doSupper("hello");
    System.out.println("SubClass");
    }public   void   doSub(String   name)这不是构造方法 
    super();只能在构造方法总使用
    super();用来构造父类
      

  2.   

    总 子些错了 是中
    你要记住构造方法不能有void的返回
    类型的 
      

  3.   

    2.假若去掉super();这个程序是否会子类是否会调用默认的构造方法,public   void   SuperClass()这是要调用默认的构造方法吗?“abcd”结果只是否会显示? 楼上的都没回答清楚啊????有得甚至回答跑题了:)
      

  4.   

    1.super();位置错了 
    2.去掉super();这个程序还是会调用父类默认构造方法;public       void       SuperClass()不是默认构造方法; "abcd"不会显示
      

  5.   

    zhangyu_fox 回答正确!到此结贴~
      

  6.   

    同意二楼的回答,但是"abcd"不会显示.