原理:大话面向对象(七):构造方法
作者:强哥   类别:PHP开发    日期:2017-12-05 10:30:14    阅读:973 次   消耗积分:0 分

我们可以看到,实例化一个类时,我们直接使用new 类名()即可实现,非常的简单。但是我们有时候也会遇到这样的实例化的方式,比如Scanner sc = new Scanner(System.in),而如上一实验中的类:Top,我们却无法在实例化的时候在()中加任何参数,那么这是怎么做到的呢?


1. 什么是构造方法

构造方法是一种特殊的方法,它是一个与类同名且没有返回值类型的方法。对象的创建就是通过构造方法来完成,其功能主要是完成对象的初始化。当类实例化一个对象时会自动调用构造方法。在Java中,任何变量在被使用前都必须先设置初值。Java提供了为类的成员变量赋初值的专门方法。


2. 构造方法的特点

(1)    没有返回值,甚至连void都没有;

(2)    名称和类名必须相同(包括大小写);

(3)    不能被staticfinalsynchronizedabstractnative修饰;

(4)    可以重载,通过构造方法中参数个数不同、参数类型不同及顺序的不同实现构造方法的重载;

(5)    在生成类的对象时调用。一个类中如果定义了多个构造方法,则根据参数自动选择 调用相应的构造方法;

(6)    不能被继承,因此不能被重写

(7)    如果没有显示声明构造方法,系统将自动生成一个无参数构造方法,称为默认构造方法

(8)    如果没有显示声明默认构造方法,显示声明了带参数构造方法,默认构造方法将被覆盖,因此,良好的习惯在声明带参数构造方法前显示声明无参数构造方法


版权所有,转载本站文章请注明出处:蜗牛笔记, http://www.woniunote.com/article/24
上一篇:原理:大话面向对象(六):静态与非静态
下一篇:原理:大话面向对象(八):失血模型
${comment['nickname']}   ${comment['createtime']}
  
       
${comment.content}
${reply.nickname} 回复 ${comment.nickname}    ${reply.createtime}
     
  
回复内容:${reply.content}