zoukankan      html  css  js  c++  java
  • Java: constructor 构造代码块

    • 构造器与类同名
    • 每个类可以有1一个以上的构造器
    • 构造器可以有0个,1个或者多个参数
    • 构造器没有返回值,不可以写return
    • 构造器总是伴随着new操作一起调用

    构造函数的作用:可以用于给对象进行初始化。

    构造函数的小细节:当类中没有定义构造函数时,系统会默认给该类提供一个空参数的构造函数;

    什么时候定义构造函数:当分析事物时,该事物存在具备一些特性或者行为,那么就将这些内容定义在构造函数中。

    另:不要在构造器中定义与实例域重名的局部变量

    class  PersonDemo2
    {
        public static void main(String[] args) 
        {
            Person p1 = new Person();
            
            Person p2 = new Person("Siyingcheng");
    
            Person p3 = new Person("Amy.Cao",27);
        }
    }
    
    class Person
    {
        private String name;
        private int age;
        Person()
        {
            System.out.println("Name=" + name + ", Age=" + age);
        }
        Person(String n)
        {
            name = n;
            System.out.println("Name=" + name + ", Age=" + age);
        }
        Person(String n, int a)
        {
            name = n;
            age = a;
            System.out.println("Name=" + name + ", Age=" + age);
        }
      public void setName(String n)
      {
        name = n;
      }
      public String getName()
      {
        return name;
      }
    }

    构造代码块:

          作用:给对象进行初始化,一般用于所有对象共性的内容进行初始化

      构造代码块优先于构造函数执行;

      构造代码块是给所有对象进行初始化,而构造函数是给对应的对象进行初始化;

     1 class  PersonDemo2
     2 {
     3     public static void main(String[] args) 
     4     {
     5         Person p1 = new Person();
     6         
     7         Person p2 = new Person("Siyingcheng");
     8 
     9         Person p3 = new Person("Amy.Cao",27);
    10     }
    11 }
    12 
    13 class Person
    14 {
    15     private String name;
    16     private int age;
    17 
    18     {
    19         cry();
    20     }
    21 
    22     public static void cry()
    23     {
    24         System.out.println("孩子哭了");
    25     }
    26 
    27     Person()
    28     {
    29         System.out.println("Name=" + name + ", Age=" + age);
    30     }
    31     Person(String n)
    32     {
    33         name = n;
    34         System.out.println("Name=" + name + ", Age=" + age);
    35     }
    36     Person(String n, int a)
    37     {
    38         name = n;
    39         age = a;
    40         System.out.println("Name=" + name + ", Age=" + age);
    41     }
    42 }
  • 相关阅读:
    如何自定义一个通信协议
    c++ 如何编写接口类(interface)
    QT国际化(中英转换)
    QT中文乱码与国际化支持
    frp官方中文文档
    K3 LEDE固件更改FRP客户端版本
    Linux下的tar压缩解压缩命令详解
    QT入门系列(3):控制台输出QString
    Delphi、Lazarus保留字、关键字详解
    使用TortoiseSVN的客户端钩子脚本触发Jenkins构建
  • 原文地址:https://www.cnblogs.com/siyingcheng/p/4249187.html
Copyright © 2011-2022 走看看