知识大全 Java 封闭之构造函数

Posted 函数

篇首语:赋料扬雄敌,诗看子建亲。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java 封闭之构造函数相关的知识,希望对你有一定的参考价值。

Java 封闭之构造函数  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

     构造函数

  构造函数是什么?

  在堆内存中创建对象的时候 对象均需要初始化 初始化的动作就有构造函数来实现 事实上 每个类在创建对象且初始化的时候均调用了一个 隐式构造函数 用户在程序若重写声明构造函数则是 显式构造函数 JVM在执行的时候则以用户定义的构造函数为主

  构造函数特点:

  < >函数名必须与类名保持一致

  < >没有类型定义 即是没有void int String 类类型等等数据类型的修饰

  < >不可存在return语句

  < >可以通过 方法重载 的方式来区别不同对象的初始化方式

  比如Person类 对象的初始化就如 刚刚诞生的婴儿那般 有的婴儿出生前还没有取好名字 但出生后称了体重;有的出生前已经取好了名字 且出生后也称了体重 但是不管怎么样 婴儿都是哭着来到这个世界的 所以都共同拥有一个方法cry()

    class Person              private String name; //姓名         private int weight;  //出生体重         private int order;   //编号                  //不取名字 也不称重         Person()           System out println( Order:  + order +   do nothing! );           cry();                  //取好名字未称体重         Person(int order  String name)             System out println( Order:  + order + Name is:   + name);             cry();                  //未取名字 但称体重         Person(int order int weight)             System out println( Order:  + order + Weight is:   + weight+  Kg );             cry();                  //取了名字 称了体重         Person(int order String name int weight)             System out println( Order:  + order + Name is:   + name +  Weight is :  + weight + Kg );             cry();                       //但是都是哭着来的         void cry()             System out println( Crying when birth! );                       public static void main(String[] args)              Person child  = new Person();              System out println( 华丽的分割线 );              Person child  = new Person( Smith );              System out println( 华丽的分割线 );              Person child  = new Person( );              System out println( 华丽的分割线 );              Person child  = new Person( John );                        /*运行结果如下:     Order:  do nothing!     Crying when birth!      华丽的分割线      Order: Name is: Smith     Crying when birth!      华丽的分割线      Order: Weight is:   Kg     Crying when birth!      华丽的分割线      Order: Name is: John Weight is : Kg     Crying when birth!     */ 

  上面的代码 描述了构造函数的基本特点 一个空参数的构造函数三个带有不同参数变量的构造函数 在实例化对象的时候便有了不同的实现方式

  构造函数出现的时机:

  在定义类的时候 分析现实世界中具体事物的时候 若该事物存在或者具备一些特性或者行为 那就将这些内容定义到构造函数中 如例子中的婴儿 具有的特性就是体重等一些生理指标和名字标示符 行为动作就是出生后先哭

   构造代码块

  是将重载的构造函数中所具有的共同的功能或者特性再次抽取出来 放在一起执行

  格式 在程序中写一对大括号 即可 与构造函数具有同样的域范围即可 然后将共有的特性抽取到括号内 比如cry(); 注下面程序中红色部分

  并且是先于构造函数执行的   可以参考下面代码执行的结果

  如下面的代码

    class Person              private String name; //姓名         private int weight;  //出生体重         private int order;   //编号              //构造代码块                    cry();                           //不取名字 也不称重         Person()           System out println( Order:  + order +   do nothing! );                  //取好名字未称体重         Person(int order  String name)             System out println( Order:  + order + Name is:   + name);                       //未取名字 但称体重         Person(int order int weight)             System out println( Order:  + order + Weight is:   + weight+  Kg );                       //取了名字 称了体重         Person(int order String name int weight)             System out println( Order:  + order + Name is:   + name +  Weight is :  + weight + Kg );                       //但是都是哭着来的         void cry()             System out println( Crying when birth! );                       public static void main(String[] args)                       Person child  = new Person();              System out println( 华丽的分割线 );              Person child  = new Person( Smith );              System out println( 华丽的分割线 );              Person child  = new Person( );              System out println( 华丽的分割线 );              Person child  = new Person( John );                   /*执行结果如下:     Crying when birth!     Order:  do nothing!      华丽的分割线      Crying when birth!     Order: Name is: Smith      华丽的分割线      Crying when birth!     Order: Weight is:   Kg      华丽的分割线      Crying when birth!     Order: Name is: John Weight is : Kg     */  cha138/Article/program/Java/hx/201311/27044

相关参考