java语言的构造函数有什么作用?构造函数可以重载吗?举例说明

 我来答
沉思的猿某人
2014-12-09 · TA获得超过189个赞
知道小有建树答主
回答量:104
采纳率:0%
帮助的人:53.1万
展开全部

构造函数是当你创建对象时,由系统调用的;

可以重载

例子

public Class Person{
    String name = null;
    public Person(){};//无参构造函数
    public Person(String name){//有参构造函数,重载
        this.name = name;
    }
}
class Test{
    public static void main(String[] args){
        Person p1 = new Person();//创建名字为null的人对象,调用无参构造函数
        Person p2 = new Person("小明");//创建名字为小明的对象,调用有参构造函数
    }
}
百度网友211658b42
2014-12-09 · TA获得超过3383个赞
知道小有建树答主
回答量:606
采纳率:100%
帮助的人:603万
展开全部

首先,一般来说,C/C++里面叫“函数”,Java里面叫“方法”,所以它叫“构造方法”。

构造方法的用处就是标示怎么“构造”一个实例对象。例如有这样一个学生类的定义:

class Student{
    private String name;
    private int age;
    
    public Student(){
        super();
    }
    
    public Student(String name,int age){
        super();
        this.name = name;
        this.age = age;
    }
}

很简单,Student类有两个属性分别为name和age,也有两个构造方法,一个是无参数的,一个是有name和age两个参数的。

那么当你需要一个Student类实例对象时,一般来说,就会用到这样的代码:

Student stu = new Student(); //创建一个学生对象

代码是很简单,不过JVM实际上是怎么执行呢?它会申请内存,创建对象,初始化对象,得到对象引用,然后把引用赋值给stu变量。这就有个问题了,如果你把你自己想象成JVM,有条命令丢过来给你说“喂,JVM,造个Student对象给我”,你是不是得知道具体怎么造这个对象?构造方法就是起这个作用的,“告诉”JVM如何去创建这类对象。

所以像刚才那行代码,JVM发现要执行的代码要创建Student对象,并且无参数,就会调用无参数的构造方法。同理,如果有以下代码:

Student zhang = new Student("张三",20); //创建一个学生对象

JVM就会去调用带name和age两个参数的构造方法了。这个构造方法除了创建一个Student对象外,在构造的时候就会根据给定的参数name、age设置正在构造的这个对象name、age属性。

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ecf06723e
2015-10-13 · 超过15用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:29.9万
展开全部

构造函数是一种特殊的方法,用来创建对象的实例并初始化其参数。一般使用方法是和Java的new关键字搭配使用,创建对象实例。

构造函数可以被重载。

几点注意:

  1. 当不声明构造函数时,默认有一个无参数的构造方法。

  2. 构造函数不能有返回类型

  3. 构造函数可以是私有的,这样外部就无法由私有的构造函数创建对象

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式