构造方法/构造器

本文介绍了Java中构造器的概念和使用,包括构造器的基本语法、特点和调用方式。通过示例展示了如何通过构造器在创建对象时直接指定属性值,并解释了构造器的重载,以及如何在实际编程中运用不同构造器创建对象并初始化属性。
摘要由CSDN通过智能技术生成

构造方法/构造器

需求

我们来看一个需求:前面我们在创建人类的对象时,是先把一个对象创建好后,再给他的年龄和姓名属性赋值,如

果现在我要求,在创建人类的对象时,就直接指定这个对象的年龄和姓名,该怎么做? 这时就可以使用构造器。

基本语法

[修饰符] 方法名(形参列表){

方法体;

}

说明

  1. 构造器的修饰符可以默认, 也可以是 public protected private

  1. 构造器没有返回值

  1. 方法名 和类名字必须一样

  1. 参数列表 和 成员方法一样的规则

  1. 构造器的调用, 由系统完成

基本介绍

构造方法又叫构造器(constructor),是类的一种特殊的方法,它的主要作用是完成对新对象的初始化。

它有几个特点:

  1. 方法名和类名相同

  1. 没有返回值

  1. 在创建对象时,系统会自动的调用该类的构造器完成对象的初始化。

快速入门

 ​
 //在创建人类对象时,就直接指定这个对象的年龄和姓名
 public class Constuctor01 {
     public static void main(String[] args){
         //当我们new一个对象时,直接通过构造器指定名字和年龄
         Person p = new Person("smith" , 80);
         System.out.println("p对象的name=" + p.name);
         System.out.println("p对象的age=" + p.age);
     }
 }
 class Person{
     String name;
     int age;
     //构造器没有返回值,也不能写void
     public Person(String pName , int pAge){              //构造器的方法名和类名相同
         System.out.println("构造器被调用---完成对象属性的初始化");
         name = pName;
         age = pAge;
     }
 }
 ​

注意事项和使用细节

 

 ​
 //在创建人类对象时,就直接指定这个对象的年龄和姓名
 public class Constuctor01 {
     public static void main(String[] args){
         //当我们new一个对象时,直接通过构造器指定名字和年龄
         Person p = new Person("smith" , 80);//第一个构造器
         Person p2 = new Person("tom" );      //第二个构造器
         System.out.println("p对象的name=" + p.name + "p对象的age=" + p.age);
         System.out.println("p2对象的age=" + p2.name );
     }
 }
 class Person{
     //构造器的重载(构造器本身也属于方法)
     String name;
     int age;
     public Person(String pName , int pAge){
         name = pName;
         age = pAge;
     }
     public Person(String pName ) {
         name = pName;
     }
 }
 ​

练习

 ​
 /*
 第一个无参构造器:利用构造器设置所有人的 age 属性初始值都为 18
 第二个带 pName 和 pAge 两个参数的构造器:使得每次创建 Person 对象的同时初始化对象的 age 属性值和 name 属性值。
  分别使用不同的构造器,创建对象
  */
 public class Constuctor01 {
     public static void main(String[] args){
         Person p1 = new Person();
         System.out.println("无参构造器:" + p1.name + "   "+ p1.age);
         Person p2 = new Person("tom" , 55);
         System.out.println("两个参数的构造器:" + p2.name + "  "+ p2.age);
     }
 }
 class Person{
     int age ;
     String name;
     public Person(){
         age = 18;
     }
     public Person(String pName , int pAge){
         name = pName;
         age = pAge;
     }
 }
 ​
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值