A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

6). 构造函数
(1). 构造函数的特点:
[1]. 函数名类名相同
[2]. 没有返回值类型   (根本没有return语句)
[3]. 没有返回值类型void的区别
       {1}.void 是一种返回值类型。代表没有具体结果
       {2}.无返回类型:根本不需要返回类型
[4]. 构造函数只能用来跟在new之后初始化对象,而不能像普通方法那样被调用!!!!
(2). 构造函数被调用的时机
对象一建立,就会调用与之对应的构造函数。
(3). 构造函数的作用
对象进行初始化 (也就是为对象的某些属性进行赋值使得对象一产生就具备某些特征)
(4). 构造函数的小细节
[1]. 一个类中没有显式定义构造函数的时候,OS就会给该类加入一个空参的构造函数
[2]. 如果一个类显式定义了一个构造函数,那么OS便不会给这个类在自动加入一个空参数的构造函数了。
(5). 构造函数和普通函数的区别
[1]. 写法上不同
[2]. 运行上不同
       {1}构造函数在对象一建立的时候,就来给对象进行初始化的。
       {2}只有对象调用才执行
【【再次强调!!!构造函数只能用来跟在new之后初始化对象,而不能像普通方法那样被调用!!!!】】
[3]. 执行的次数
       {1}构造函数用来给对象进行初始化,所以仅仅运行一次
       {2}普通的方法可以被对象多次调用,可以执行多次
(6). 何时定义构造函数
当事物一存在的时候,就具备某些特性或行为的时候,就为这个类定义构造函数,将这些对象与生俱来的特性和行为封装到构造函数中去进行初始化
7). 构造代码块
很多时候,函数和代码块是相对应的。方法自己的名字,而代码块没有
(1). 构造代码块的写法与目的:
[1]. 构造代码块的写法:用一对{}封装起来一段代码,并把这个代码块放在类的成员的位置上。这样的代码块就是构造代码块。
[2]. 构造代码块,顾名思义,也是起到构造方法的作用的代码块,也是给对象进行初始化。
(2). 构造代码块和构造函数的区别
[1]. 初始化对象的方面不同:
       {1}.构造代码块是对这个类所有的对象进行进行共性的初始化
       {2}.构造函数可以指定。所以构造函数是对指定对象进行个性的初始化
[2]. 执行的顺序不同构造代码块先于构造函数执行。
举例说明:(面试题)
class Person{
    private String name;
    private intage;
   
    //构造代码块
    {
        name ="Benjamin";
        age = 18;
        System.out.println("Person code run....");
    }
   
    Person(){
        System.out.println("name ="+ name+", age ="+age);
    }
   
    Person(String name, int age){
        this.name =name;
        this.age =age;
        System.out.println("name ="+ name+", age ="+age);
    }
}
public class testtt {
    public staticvoidmain(String[] args) {
        Person p1 =new Person();//调用空参数构造函数进行初始化
        Person p2 =new Person("zxm", 28);//调用非参数构造函数进行初始化
        /*
         * 两个Person对象,分别指定用不同的构造函数进行初始化。个性的初始化
         * 但是,在每一个构造函数运行之前,构造代码块都对这两个对象进行统一的共性初始化
         */
    }
}
运行结果:
Person code run....
name = Benjamin, age = 18
Person code run....
name = zxm , age = 28

评分

参与人数 4黑马币 +28 收起 理由
happyli53 + 6 很给力!
chenyue1111 + 6 翔哥,你很棒,很喜欢你 哦。
cuixinfu + 10
river1205 + 6 赞一个!

查看全部评分

2 个回复

倒序浏览
╋☆Love↘七 来自手机 中级黑马 2016-1-7 22:21:31
沙发
不错不错
回复 使用道具 举报
总结的可以!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马