随笔 - 18  文章 - 0  评论 - 0  阅读 - 7172

什么是构造器

我们在声明一个类的时候,一定会声明它的构造器,即使你不去显示的写出来,它也会自动带的。构造器是我们类的成员之一,也是比较重要的一个成员。那么什么是构造器呢?
我们先来研究一下这行代码:

Person p1 = new Person();

我们具体的看一下这里面每一个单词和字符在这里面的含义:
首先,等号左边,Person p1,就是说定义一个Person类型的对象,对象名为p1,这个简单,跟int i,即定义一个整型变量i意思差不多,就改成定义一个对象。
等号右边,new: 新建对象的意思,新建一个Person类型的对象,那Person后面跟一个括号,是什么意思呢?这不可能是方法,因为Person明显是一个类名嘛。
其实Person()就是调用类的构造器的意思。
具体是什么含义呢?构造器,从字面上理解,就是构造,创建的意思,英文里面叫做constructor,也是创建之类的意思。它就是用来新建对象的。
我们继续根据它的定义方法来进一步展开对它的说明。
我们刚刚说了,它可以不用显示的声明,类自动就可以声明,那如果我们要写出来呢?这就要说到它的书写规范了:

class Person{//定义一个名为Person的类
    //定义两个属性
    int age;
    String name;
    
    //构造器一般写在属性和方法中间
    public Person(){
        //里面可以写一些输出语句或其他的赋值操作
        //构造器里面的程序在构造器被调用时,即新建对象时就会执行
        System.out.println("我无处不在!");
    }
    public Person(int age,String name){//里面可以定义形参,即调用时就可传入参数进行赋值
        this.age = age;
        this.name = name;
    }
    //定义几个方法
    public void eat(){
        System.out.println("吃饭");
    }
}
//它具有与类相同的名称
//它不声明返回值类型
//它不能被static、final、abstract、native、synchronized修饰
//不能有return语句返回值


语法格式:
修饰符 类名 (参数列表) {
初始化语句;
}
如同我们规定每个“人”一出生就必须先洗澡,我们就可以在“人”的 构造器中加入完成“洗澡”的程序代码,于是每个“人”一出生就会自 动完成“洗澡”,程序就不必再在每个人刚出生时一个一个地告诉他们 要“洗澡”了。
知道了构造器的作用以及构造器的声明方法,我们就可以更高级的使用构造器来新建对象了。

//接着上面的类来写
public PersonTest{
    public static void main(String[] args){
        Person p1 = new Person();//普普通通的造一个对象
        
        Person p2 = new Person(13,"zfg");//在创建类的一开始就对类的属性赋值
        p1.eat();
    }
}


我们使用Java构造器需要注意这些地方:

Java语言中,每个类都至少有一个构造器
默认构造器的修饰符与所属类的修饰符一致
一旦显式定义了构造器,则系统不再提供默认构造器
一个类可以创建多个重载的构造器
父类的构造器不可被子类继承
posted on   Niderhog77  阅读(212)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示