构造方法
概述
构造方法: 也叫做构造器 构造函数 ,本质就是一个特殊的方法.
特点
1. 构造⽅法的⽅法名和类名⼀致(包括⼤⼩写)
2. 构造⽅法没有返回值类型(连void都没有)
3. 构造⽅法可以重载
4. 构造⽅法不可以⼿动调⽤,只能在创建对象的时,jvm⾃动调⽤
5. 构造⽅法在创建对象时只能调⽤⼀次
作用
1. 可以为属性进行赋值
2. 用于创建对象 ---> 角色类似于 人出生时候的脐带
注意事项
当⼀个类中,没有定义构造⽅法 系统会⾃动提供⼀个公开的 ⽆参的构造⽅法 当类中已经定义了构
造⽅法,系统不再提供⽆参公开构造,如果需要使⽤⽆参的构造 那么必须⾃⼰定义出来 ⼀般开发如果
定义了有参的构造 都会再定义⼀个⽆参的构造
案例
public class Demo1 {
public static void main(String[] args) {
// 创建一个人类的对象
// Person p = new Person();// 在创建对象的时候 构造方法就被调用了
// Person p = new Person("刘能",47);
// // 构造方法的角色
// //调用成员方法
// //p.eat();
//
// Person p2 = new Person();
// Person p1 = new Person();// 名字是默认值 null age 也是默认值 0
//
// System.out.println(p1.name);
// System.out.println(p1.age);
//
// //后天进行 名字 和年龄的赋值
// p1.name = "李程";
// p1.age = 13;
Person p2 = new Person("刘能",1);
System.out.println(p2.name);
System.out.println(p2.age);
}
}
//定义一个Person类
class Person{
// 定义一个构造方法
// 方法名 : Person 返回值类型: 没有类型 连void都没有 形式参数列表: 和 普通的方法一样
// 定义一个无参数的构造方法
public Person(){
System.out.println("我是一个无参数的构造方法");
}
// 定义一个有参数的构造方法
public Person(String n,int a){
// 赋值
name = n;
age = a;
System.out.println("我是一个有参数的构造方法");
}
//属性
String name;
int age;
//行为
public void eat(){
System.out.println("人吃饭");
}
}
//案例2: 关于系统为类提供无参数的构造方法
package com.ujiuye.day08;
public class Demo1 {
public static void main(String[] args) {
// 创建一个对象
Person p1 = new Person();
}
}
//定义一个Person类
class Person{
// 定义一个构造方法
// 方法名 : Person 返回值类型: 没有类型 连void都没有 形式参数列表: 和 普通的方法一样
// 定义一个无参数的构造方法
public Person(){
System.out.println("我是一个无参数的构造方法");
}
//
// // 定义一个有参数的构造方法
public Person(String n,int a){
// 赋值
name = n;
age = a;
System.out.println("我是一个有参数的构造方法");
}
//属性
String name;
int age;
//行为
public void eat(){
System.out.println("人吃饭");
}
}