• 技术文章 >java >java基础

    java构造函数的三种类型

    小妮浅浅小妮浅浅2021-01-07 16:55:53原创4695

    我们说构造函数能处理参数的问题,但其实也要分三种情况进行讨论。目前有三种类型:无参、有参和默认。根据不同的参数情况,需要我们分别进行构造函数的讨论。这里重点是无参构造函数的初始化也要分两种方法进行分析。下面我们就这三种不同的构造函数类型分别为大家进行展示。

    1.无参构造函数

    不带入参的构造函数叫无参构造函数,对类的成员初始化有两种方法:

    1)在类成员变量声明时进行初始化

    1

    2

    3

    4

    5

    6

    7

    8

    public class MyClass {

        private String name = "Jerry";

        private int id = 1;

      

        public MyClass()

        {

        }

    }

    2)在无参构造函数的方法体里对类成员变量初始化

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    public class MyClass {

        private String name;

        private int id;

      

        public MyClass()

        {

            this.name = "Jerry";

            this.id = 1;

        }

    }

    2.有参构造函数

    带入参的构造函数叫有参构造函数。

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    public class Employee {

      

    int empId;

    String empName;

      

    //parameterized constructor with two parameters

    Employee(int id, String name){

    this.empId = id;

    this.empName = name;

    }

    void info(){

    System.out.println("Id: "+empId+" Name: "+empName);

    }

      

    public static void main(String args[]){

    Employee obj1 = new Employee(10245,"Chaitanya");

    Employee obj2 = new Employee(92232,"Negan");

    obj1.info();

    obj2.info();

    }

    }

    输出:

    1

    2

    Id: 10245 Name: Chaitanya

    Id: 92232 Name: Negan

    当类里没有显式地定义代码来实现任何构造函数时,Java编译器将会在编译的字节码(.class文件)里面为这个类插入默认构造函数。由于是在编译阶段插入,因此在源文件(.java)里是不会找到默认构造函数的代码的。

    3.默认构造函数

    默认构造函数形式上类似无参构造函数(都没有入参),但是二者并不能划等号,区别如下:

    默认构造函数方法体为空,无参构造函数方法体可以为空也可以不为空;

    只要类里显式的创建了一个构造函数,比如一个无参构造函数,编译器都不会再为这个类创建默认构造函数了。

    以上就是java中构造函数的三种类型,大家可以根据其中的参数情况,对构造函数进行判断。对基础概念不了解的,可以结合代码示例练习和体会。

    专题推荐:java构造函数类型
    上一篇:java中使用构造函数的好处 下一篇:构造函数在java的重载方法

    相关文章推荐

    • java枚举中线程的实现• java中构造函数的用法规则• java中使用构造函数的好处

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网