day07_面向对象_构造函数

特点:
1.函数名与类名相同
2.不用定义返回值类型
3.没有具体的返回值
作用:
给对象进行初始化。
注意:
1.默认构造函数的特点
2.多个构造函数是以重载的方式存在的


构造函数:构建创造对象时调用的函数;作用:可以给对象初始化
创建对象都必须要通过构造函数初始化

一个类中如果没有定义过构造函数,那么该类会有一个默认的空参数构造函数
如果在类中制定了构造函数,那么类中的默认构造函数就没了

一般函数和构造函数有什么区别呢?
构造函数:对象创建时,就会调用与之对应的构造函数,对对象进行初始化
一般函数:对象创建后,需要函数功能时才调用

构造函数:对象创建时,会调用且只调用一次
一般函数,对象创建后,可以多次调用

什么时候定义构造函数:
在描述事物时,该事物已存在就具备的一些内容,这些内容都定义在构造函数中
例如,创建一个Person对象时,每个人在出生就具备一些默认值,例如年龄,姓名
不管怎么样,构造函数作为一种特殊的函数,还是遵循函数的基本属性,只是要满足上述的要求。
构造函数也有return语句,但并不常用


class Person
{
    private String name;
    private int age;
    public void setAge(int a)
    {
        age=a;
    }
    public int getAge()
    {
        return age;
    }
    //定义一个Person类的构造函数,
    Person(String n,int a)//构造函数,并且可以是空参数,此时作为姓名和年龄的参数
     //例如,创建一个Person对象时,每个人在出生就具备一些默认值,例如年龄,姓名
     //如果void Person()则报错,找不到构造函数
    {
//      System.out.println("Person run");
        name=n;
        age=a;
    }
    public void speak()
    {
        System.out.println(name+":"+age);
    }
}

public class ConsDemo {
    public static void main(String[] args)
    {
//      Person p = new Person();//每个“对象”被创建时就会执行且仅执行一次
        Person p = new Person("旺财",10);
        p.speak();
    }
}

你可能感兴趣的:(day07_面向对象_构造函数)