构造器
定义
类中的构造器也成为构造方法,是在进行创建对象的时候必须要调用的。并且构造器有以下两个特点:
- 必须和类的名字相同
- 必须没有返回类型,也不能写 void
作用:
-
new 本质在调用构造方法(构造器)
-
初始化对象的值
初始化一个类的对象,并返回这个对象的地址。
构造器分离
无参构造器
初始化一个类的对象,并返回这个对象的地址,里面的数据都是默认值。
有参构造器
初始化一个类的对象,并返回这个对象的地址,并且可以同时为对象赋值。
调用构造器
类名 对象名 = new 构造器();
注意点:
-
写出任何一个类都自带一个无参构造器,写不写都有
-
在定义有参构造之后,无参构造器就消失了,如果想使用无参构造,需显示的定义无参的构造,需要自己写一个
添加构造方法(构造器)快捷键:
- Alt + Insert
//java--->class
public class Person {
//一个类即使什么都不写,他也会存在一个方法
//显示的定义构造器
String name;
int age;
//实例化初始值
//核心作用2个:
//1. 使用new关键字,本质是在调用构造器
//2. 构造器用来初始化值
// Alt + Insert
public Person(){
}
// 有参构造: 一旦定义了有参构造,无参构造就必须显示定义
public Person(String name){
this.name = name;
}
public Person(int age) {
this.age = age;
}
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
//测试类
/*
public static void main(String[] args) {
// new 实例化的一个对象
Person person = new Person("kuangshen");
System.out.println(person.name);
}
构造器:
1. 和类名相同
2. 没有返回值
作用:
1. new 本质在调用构造方法(构造器)
2. 初始化对象的值
注意点:
1. 定义有参构造之后,如果巷使用无参构造,需显示的定义无参的构造
Alt + Insert
*/
创建对象内存分析
public class Pet {
public String name;
public int age;
//无参构造
public void shout(){
System.out.println(this.name+"叫了一声");
}
}
//测试类
/*
public static void main(String[] args) {
Pet dog = new Pet();
dog.name = "旺财";
dog.age = 3 ;
dog.shout();
System.out.println(dog.name);
System.out.println(dog.age);
Pet car = new Pet();
}
*/
标签:无参,name,age,构造,new,public
From: https://www.cnblogs.com/zzx944964684/p/17007662.html