无参构造函数

当类中,没有定义类的构造函数时,系统会有默认的无参构造函数
特别注意,当定义了构造函数时,默认的无参构造函数就不存在了,要用的话,就需要显示的定义,例如,Dog(){}

public class ConstructorDetail {
    public static void main(String[] args) {
        person1 p1=new person1("xiaoming",18);
        person1 p2= new person1("xiaoli");
        System.out.println("p1.name="+p1.name);
        System.out.println("p1.age="+p1.age);
        System.out.println("p2.name="+p2.name);
        //默认的无参构造函数
        Dog d1=new Dog();
    }
}
class person1{
    String name;
    int age;
    //第一个构造器
    public person1(String pName,int pAge){
        name=pName;
        age=pAge;
    }
    //第二个构造器
    public person1(String pName){
        name=pName;
    }
}
class Dog{
    String name;
    int age;
}

javap,反编译命令,用于对.class字节码文件中的代码进行反编译

/*
练习
创建两个构造函数,一个是无参,设置年龄默认值为18,;第二个是有两个参数的构造函数
分别给这两个函数创建对象
*/

public class ConstructorExercise {
    public static void main(String[] args) {
        Person2 p3 = new Person2();
        Person2 p5 = new Person2();
        Person2 p4 = new Person2("xiaoming",23);
        System.out.println(p3.name+" "+p3.age);
        System.out.println(p4.name+" "+p4.age);
        System.out.println(p5.name+" "+p5.age);
    }
}
class Person2 {
    String name;//默认值为null
    int age;//默认值为0
    public Person2(){//无参构造函数
        age=18;
    }
    //带两个形参的构造函数
    public Person2(String dname, int dage){
        age=dage;
        name=dname;
    }
}

posted @   f-52Hertz  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示