1:C++中定义子类构造方法的时候,一定要再定义一次父类构造函数的参数吧?
JAVA中有类似的机制么?
像继承JFrame,一个super()就够了吧。
2:C++中定义父类的对象father和方法sayage()子类son和重写sayage()
为什么不能farther.son::sayage()
而能son.father::sayage(),是否是我写错了?
在JAVA中却可以:
父类 father=new 子类();
father.sayage();     //父类引用子类的方法。
3:JBuilder中自带了tomcat我机器上已经自己装了tomcat我再装JBuilder会有冲突么?

解决方案 »

  1.   

    1.Java里类在初始化时,是从父类开始的,即隐式调用父类的无参构造方法super(),如果父类没有无参的构造方法,就会编译出错。这时就需要显式调用父类的有参构造方法。
    2.我对C++不了解,回答不上来。
    3.不会有冲突,我电脑上有一个JBuilder和好几个版本的Tomcat。
      

  2.   

    C++这块一点也不了解;在java中,如果父类没有默认的无参数构造方法,那么子类必须显示声明子类的
    构造方法,并在该构造方法中显示调用父类的构造方法;
    //这个会报错
    class A{
    public A(String str){

    }
    }class B extends A{

    }//这个正确
    class A {
    public A(String str) { }
    }class B extends A {
    public B() {
    super("aa");
    }
    }
      

  3.   

    1够了,你也可以什么都不做。
    2java动态加载,根据真正实例化的类去寻找对应的方法,这个和c++相反,c++是不声明不找
    3不冲突,但不能同时启动,但可以通过重新配置启动两个tomcat.