🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] ## **一、构造方法的特点** (1)每当创建给定类的实例时就调用的方法 (2)与类同名,但没有返回类型 (3)Java 为对象分配内存,初始化实例变量并调用构造方法 (4)两种构造方法 1、参数化构造方法 2、隐式构造方法 ## **二、示例解析** ``` public class day05_function5{ public static void main(String [] args){ Student stu; stu = new Student();//调用构造方法 } } ``` 在构造对象时,就会自动调用构造方法。也许你会问,我们并没有定义构造方法,为什么会自动调用构造方法呢,这就是因为每一个类,只要你没有显示的定义构造方法,那么它都会有一个隐式构造方法。 <br> ## 默认构造方法 **如果没有任何的构造方法,编译时系统会自动添加一个默认无参构造方法** 1. 隐含的默认构造方法 ``` public A(){} ``` 2. 显示的默认构造方法 ~~~ public A(){ System.out.print("显示的默认构造方法") } ~~~ ## **构造方法实例** ``` public class day05_function5 { public static void main(String[] args) { PersonDemo s = new PersonDemo("国王",23); //new对象时,即调用对应的构造函数,并传值。同时,不能new同一个对象多次,否则会报错。 s.setName("迪迦"); //对象建立后,想变更值时,就要用set/get方法,重新设置新的值 s.setName("赛文"); //并可调用对象多次。 s.print(); } } class PersonDemo{ private String name; private int age; PersonDemo(String n,int m){ //建立有参构造函数,用于给两个private变量name、age赋值,同时输出值 name=n; age=m; System.out.println("姓名:"+name+"\n"+"年龄:"+age); } public void setName(String x){ //set方法,用于再次给name赋值 name=x; } public String getName(){ //get方法,用于获取name的赋值 return name; } public void print(){ System.out.println(name); } } ```