时间:2021-05-19
我们说构造函数能处理参数的问题,但其实也要分三种情况进行讨论。目前有三种类型:无参、有参和默认。根据不同的参数情况,需要我们分别进行构造函数的讨论。这里重点是无参构造函数的初始化也要分两种方法进行分析。下面我们就这三种不同的构造函数类型分别为大家进行展示。
不带入参的构造函数叫无参构造函数,对类的成员初始化有两种方法:
(1)在类成员变量声明时进行初始化
public class MyClass { private String name = "Jerry"; private int id = 1; public MyClass() { }}(2)在无参构造函数的方法体里对类成员变量初始化
public class MyClass { private String name; private int id; public MyClass() { this.name = "Jerry"; this.id = 1; }}带入参的构造函数叫有参构造函数。
public class Employee {int empId;String empName;//parameterized constructor with two parametersEmployee(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();}}输出:
Id: 10245 Name: ChaitanyaId: 92232 Name: Negan当类里没有显式地定义代码来实现任何构造函数时,Java编译器将会在编译的字节码(.class文件)里面为这个类插入默认构造函数。由于是在编译阶段插入,因此在源文件(.java)里是不会找到默认构造函数的代码的。
默认构造函数形式上类似无参构造函数(都没有入参),但是二者并不能划等号,区别如下:
默认构造函数方法体为空,无参构造函数方法体可以为空也可以不为空;
只要类里显式的创建了一个构造函数,比如一个无参构造函数,编译器都不会再为这个类创建默认构造函数了。
到此这篇关于java构造函数的三种类型总结的文章就介绍到这了,更多相关java构造函数的类型内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
前言当我们面对具有大量可选成员变量的Java类时,创建这些对象的最佳方法是什么?通常有三种方法:伸缩构造函数,JavaBean模式和构建器模式。构造函数User
C#中new的用法有三种:(1)new是运算符,用于创建对象和调用构造函数。如Class1=newClass1();也可以为值类型调用默认的构造函数如inta=
C++中一般创建对象,拷贝或赋值的方式有构造函数,拷贝构造函数,赋值函数这三种方法。下面就详细比较下三者之间的区别以及它们的具体实现1.构造函数构造函数是一种特
JSP脚本元素的类型脚本元素提供了在jsp中插入java代码的能力。脚本元素有三种类型:脚本(scriptlet):是JSP页面中Java代码片段的容器。将页面
mysql中用于表示时间的三种类型date,datetime,timestamp(如果算上int的话,四种)比较容易混淆,下面就比较一下这三种类型的异同相同点都