编程之道

无论是批评的,赞扬的,指着的都请EMAIL给我,你的建议将是我前进的动力! 联系我

关于构造函数

      构造函数名必须与类名相匹配并且必须没有返回类型。它们可以被重载,但是不被子类继承。 当类被实例化时,就会自动调用构造函数。

调用构造函数 
      只能从其他构造函数中调用构造函数。要调用同一个类中的构造函数,用匹配的参数调用 this() 函数。要调用超类中的构造函数,用匹配的参数调用 super() 函数。创建子类对象时,按层次结构中从上到下的顺序调用所有超类的构造函数。

默认构造函数 
      如果没有在类中提供任何其他构造函数,编译器将创建默认构造函数。它没有任何参数。默认构造函数调用超类的无参数构造函数。它与类有同样的访问修饰符。

构造函数的几种用法
1。
如果调用类的默认构造函数,而父类有带参数的构造函数,那么您的代码将不能编译。原因是子类的默认构造函数隐式地调用其父类的无参数构造函数。

//编译错误
   class Temp
{
  
int x, y;
  Temp(
int x, int y) 
 

    
this.x = x; 
    
this.y = y; 
  }

}


class test extends Temp {

    
public static void main(String args[])
  
{
        test dot
=new test();
    }

}

2。如果构造函数是私有的话,则该对象只能在该类中实例化
//编译出错:不能被实例化
class test {
    
    
public static void main(String args[])
    {
        temp t 
= new temp();
    }    
}
class temp {
    
private temp() {
        System.out.println(
"temp");
    }
}

posted on 2005-12-29 13:45 疯流成性 阅读(171) 评论(0)  编辑  收藏 所属分类: j2se


只有注册用户登录后才能发表评论。


网站导航: