class base{
    String n;
    char s;
   base(String name,char s)
     {
           n=name;
           s=sex;
      }
}class subclass extends base
{
     subclass(String n,char s,char dept,char age)
         {
              super(n,s);          
           //....
          }
}上面的那个subclass类,继承base类,在subclass的构造函数arg-list中,有String n,char s,和base类中的一样,是不是一定要写?不能直接调用base类中的n和s吗?
我这样理解的:在subclass中要声明n和s,然后用super(n,s)来覆盖subclass中的方法,对不对?如果我把subclass(String n,char s....)中的n和s换成别的可以吗?

解决方案 »

  1.   

    小子记住很重要的一点,有什么想法就把它放在程序中,实践去试试,一切就clear了subclass(String n,char s ,char dept,char age)
    中的n,与s 
    和base 类是的n,s不是the same thing 
    两个是完全不同的变量
    super(n,s)将subclass类中的n,s指向内存的地址传给了父类的name和s
      

  2.   

    subclass(String n,char s,char dept,char age)
             {
                  super(n,s);          
               //....
              }
    这样写的原因是:如果不是缺省构造函数,派生类若要覆盖基类的构造函数,则一定要在派生类的构造函数中调用基类的构造函数——也就是你这里的super(n,s)subclass(String n,char s....)中的n和s换成别的可以吗?----当然可以,不过你对应的super(n,s)也要换掉
      

  3.   

    小子记住很重要的一点,有什么想法就把它放在程序中,实践去试试,一切就clear了subclass(String n,char s ,char dept,char age)
    中的n,与s 
    和base 类是的n,s不是the same thing 
    两个是完全不同的变量
    super(n,s)将subclass类中的n,s指向内存的地址传给了父类的name和s
    按照你的理解,这两个n,s不是同一回事的话,那我在subclass中的String n,char s都可以写成String dddd ,char xxx了??