构造方法
构造方法的格式和执行时机#
-
格式注意 :
-
方法名与类名相同,大小写也要一致
-
没有返回值类型,连void都没有
-
没有具体的返回值(不能由retrun带回结果数据)
-
-
执行时机 :
-
创建对象的时候调用,每创建一次对象,就会执行一次构造方法
-
不能手动调用构造方法
-
-
示例代码:
class Student { private String name; private int age; //构造方法 public Student() { System.out.println("无参构造方法"); } public void show() { System.out.println(name + "," + age); } } /* 测试类 */ public class StudentDemo { public static void main(String[] args) { //创建对象 Student s = new Student(); s.show(); } }
构造方法的作用#
-
用于给对象的数据(属性)进行初始化

package com.yyj.constructor; public class Student { /* 格式: 1. 方法名需要跟类名相同, 大小写也要一致 2. 没有返回值类型, 连void都没有 3. 没有具体的返回值(不能由return带回具体的结果) */ private String name; private int age; // 1. 如果一个类中没有编写任何构造方法, 系统将会提供一个默认的无参数构造方法 public Student(){} // 2. 如果手动编写了构造方法, 系统就不会再提供默认的无参数构造方法了 public Student(String name, int age){ this.name = name; this.age = age; System.out.println("我是Student类的构造方法"); } public void show(){ System.out.println(name + "..." + age); } }
package com.yyj.constructor; public class TestStudent { public static void main(String[] args) { Student stu1 = new Student("张三",23); stu1.show(); Student stu2 = new Student(); } }
构造方法的注意事项#
构造方法的创建 :
如果没有定义构造方法,系统将给出一个默认的无参数构造方法
如果定义了构造方法,系统将不再提供默认的构造方法
构造方法的创建 :
如果没有定义构造方法,系统将给出一个默认的无参数构造方法如果定义了构造方法,系统将不再提供默认的构造方法
推荐的使用方式 :
无论是否使用,都手动书写无参数构造方法,和带参数构造方法
标准类的代码编写和使用#
代码 :

package com.yyj.test3; /* JavaBean类: 封装数据 */ public class Student { private String name; private int age; public Student() { } public Student(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public void show(){ System.out.println(name + "..." + age); } }
package com.yyj.test3; public class TestStudent { public static void main(String[] args) { // 1. 无参数构造方法创建对象, 通过setXxx方法给成员变量进行赋值 Student stu1 = new Student(); stu1.setName("张三"); stu1.setAge(23); stu1.show(); // 2. 通过带参数构造方法, 直接给属性进行赋值 Student stu2 = new Student("李四",24); stu2.show(); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
2019-10-08 Vue初识 vue导入方式 挂载点 数据 过滤器 文本指令 事件指令 表单指令