• 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 }
  • 相关阅读:
    向net core 3.0进击——多平台项目发布与部署
    Linux配置部署_新手向(五)——Docker的安装与使用
    Ubuntu 18.04使用OpenSSL自签证书(证书支持多IP及多域名,谷歌浏览器无警告)
    学习makefile的一个工程示例
    Centos7下设置ceph 12.2.1 (luminous)dashboard UI监控功能
    一个小例子学习makefile
    Centos7下部署ceph 12.2.1 (luminous)集群及RBD使用
    VMware Centos7 桥接 DHCP无法获得IP
    VMware Centos7 NAT 无法上网的解决方法
    jerasure 2.0译文
  • 原文地址:https://www.cnblogs.com/siyingcheng/p/4249187.html
Copyright © 2020-2023  润新知