深化学习java构造函数[Java编程]
本文“深化学习java构造函数[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
*来自对构造函数的担当,及相关调用考虑得到,主要还是从《java面向对象编程》得来
*在多级担当的情形下,将从担当树的最上层的父类开始,顺次履行各个类的构造办法,
这可以保证子类对象从全部直接或间接父类中担当来的实例都被精确的初始化.
*当子类的构造办法没有效super语句显示的调用父类的构造办法,而父类中又没有供应默
认的构造办法(jdk供应的默许构造办法)时,将会呈现编译错误.
public class Grapha {
// public Grapha() {
// System.out.println("Grapha()");
// }
public Grapha(String name) {
System.out.println("Grapha()");
}
}
class Father extends Grapha{
/**
* a compile error happen.
* implicit super constructor Grapha() is undifined,must explicity invoke another constructor
**/
public Father() {
System.out.println("Father()");
}
/**
* a compile error happen.
* implicit super constructor Grapha() is undifined,must explicity invoke another constructor
**/
public Father(String name){
}
}
*从上面可以得出,假如一个类即不答应其他程序员用new语句来构造它的实例,又不答应它有子类,便可以
把它全部的构造办法定义为private的.
别的一种使一个类不能有子类的办法是将类声明改成final的.
由上面可以想到用静态工厂情势:
*单例情势(singleton)
*列举类
*具有实例缓存的类
*具有实例缓存的不可变类
以上是“深化学习java构造函数[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |