企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# JAVA中的构造器与PHP中的构造函数是一模一样的,所有都是一样的 # ## 自己写的构造器重载 ## 构造器前面可以不加public ~~~ ackage com.msb2; public class Person { String name; int age; double height; public Person(String name,int age,double height){ //构造器前面可以不加public this.name=name; this.age=age; //构造器赋值 this 代表正在创建的对象 this.height=height; } //方法: public void eat(){ System.out.println("吃饭"); } } ~~~ # 下面是老师的笔记: # ``` package com.msb3.msb2; /** * @Auther: msb-zhaoss */ public class Person { //属性: String name; int age; double height; //空构造器 public Person(){ } public Person(String name,int age,double height){ //当形参名字和属性名字重名的时候,会出现就近原则: //在要表示对象的属性前加上this.来修饰 ,因为this代表的就是你创建的那个对象 this.name = name; this.age = age; this.height = height; } public Person(String a,int b){ name = a; age = b; } //方法: public void eat(){ System.out.println("我喜欢吃饭"); } } ``` ``` package com.msb3.msb2; /** * @Auther: msb-zhaoss */ public class Test { //这是一个main方法,是程序的入口: public static void main(String[] args) { /* 1.一般保证空构造器的存在,空构造器中一般不会进行属性的赋值操作 2.一般我们会重载构造器,在重载的构造器中进行属性赋值操作 3.在重载构造器以后,假如空构造器忘写了,系统也不会给你分配默认的空构造器了,那么你要调用的话就会出错了。 4. 当形参名字和属性名字重名的时候,会出现就近原则: 在要表示对象的属性前加上this.来修饰 ,因为this代表的就是你创建的那个对象 */ Person p = new Person(); /*p.age = 19; p.name = "lili"; p.height = 180.4;*/ Person p2 = new Person("lili",19,180.4); System.out.println(p2.age); System.out.println(p2.height); System.out.println(p2.name); } } ```