1、构造器
构造器也叫构造方法、构造函数,是一种特殊类型的方法,负责类中成员变量(域)的初始化。构造器的用处是在创建对象时执行初始化,当创建一个对象时,系统会为这个对象的实例进行默认的初始化。
有两种类型的构造方法:
1、默认构造方法(无参数构造方法) 2、参数化构造方法
1.1 权限修饰符是public
权限修饰符是 public ,表示内部属性能被其他类访问到。
java 默认的构造方法是无参的。
Java编译器会自动创建无参构造函数,因此在类中,无参构造即使没有,我们也可省略不写。实例化对象时无需赋值
新建一个 Person 类,再用new实例化 person 对象。运行后会生成一个 Person.class 对象。
1 2 3 4 5 6 7 8 9 10 11 |
public class Demo02 { public static void main(String[] args) { //new 实例化一个对象 //一个类就算什么也不写,也存在一个方法,且方法名与类名相同。 Person p= new Person();创建对象,括号内无需赋值,没赋值的情况下,字符类型默认值为 null ,数值类型默认值为 0 } }
public class Person {
} |
若类中什么也不写,运行之后,默认多一个 Person() 方法,下面是 Person.class 的代码:
1 2 3 4 5 6 7 8 9 10 11 |
// // Source code recreated from a .class file by IntelliJ IDEA // (powered by Fernflower decompiler) //
package Demo01;
public class Person { public Person() { } } |
故: 一个类就算什么也不写,他也会存在一个默认的方法
参数化构造方法:
参数化构造方法用于为不同对象提供不同初始化的值。 倘若类中已存在有参构造函数,则编译器不再提供默认无参构造。实例化对象时需赋值,不然报错
1.2 显示定义构造器
1 2 3 4 5 6 7 8 9 10 |
package Demo01;
public class Demo02 { public static void main(String[] args) { //new 实例化一个对象 //一个类就算什么也不写,也存在一个方法,且方法名与类名相同。 Person p= new Person(); System.out.println(p.name); //null } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
package Demo01;
public class Person { String name; //实例化初始值 //1、使用new关键字,本质实在构造器 //2、用来初始化值 public Person(){ //默认构造器 this .name= "xiaoming" ; }
//有参构造:一旦定义了有参构造,无参构造就必须显示定义,否则无效,也是重载 public Person(String name){ this .name=name; }
//快捷键: alt + insert 生成构造器,自动生成构造器,有参无参可自行选择。 } |
总结:
构造器:
1、和类名相同 2、没有返回值作用:
1、new 本质在调用构造方法 2、初始化对象的值注意: 定义构造之后,如果想使用无参构造,显示的定义一个无参构造,否则不能使用无参的构造方法ALT + INSERT 生成构造器
到此这篇关于java构造器 默认构造方法及参数化构造方法的文章就介绍到这了,更多相关java构造器 内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
原文链接:https://blog.csdn.net/weixin_45804632/article/details/120643936
查看更多关于java构造器 默认构造方法及参数化构造方法的详细内容...