构造函数以及构造代码块的理解

来源:互联网 发布:阿里云虚拟主机购买 编辑:程序博客网 时间:2024/06/03 23:44

作者:叁念


构造函数以及构造代码块的理解


1.构造函数

特点:
1. 函数名与类名相同
2. 不用定义返回值类型
3. 不可以写return语句

对象一建立就会调用与之对应的构造函数
构造函数的作用:可以用于给对象进行初始化

2.构造函数的小细节:

当一个类中没有定义构造函数时,那么系统就会默认给该类加入一个空参数的构造函数当在类中自定义了一个构造函数后,默认的构造函数就没有了
  • 构造函数和一般函数在写法上有不同
  • 在运行上也有不同
  • 构造函数是在对象一建立就运行。 给对象初始化
  • 而一般方法是对象调用才执行,是给对象添加对象具备的功能

  • 一个对象建立,构造函数只运行一次

  • 而一般方法可以被该对象调用多次
  • 什么时候定义构造函数呢?
  • 当分析事物时,该事物存在具备一些特性或者行为,那么将这些内容定义在构造函数中
class Person{    private String name;    private int age;    /*     * 构造代码块     * 作用:给对象进行初始化     * 对象一建立就运行,而且优先于构造函数执行     *      * 和构造函数的区别:     * 构造代码块是给所有对象进行统一初始化     * 而构造函数是给对应的对象初始化     *      * 构造代码块中定义的是不同对象共性的初始化内容     */    {        System.out.println("构造代码块");        cry();    }    Person()    {        System.out.println("A name = "+name+",age = "+age);        //cry();    }    Person(String n)    {        name = n;        System.out.println("B name = "+name+",age = "+age);        //cry();    }    Person(String n,int a)    {        name = n;        age = a;        System.out.println("C name = "+name+",age = "+age);        //cry();    }    public void cry()    {        System.out.println("cry.......");    }    public void setName(String n)    {        name = n;    }    public String getName()    {        return name;    }}public class PersonDemo2 {    public static void main(String[] args) {        Person p = new Person();        Person p1 = new Person("小鱼");        Person p2 = new Person("小虾",10);        p2.setName("小龙");        System.out.println(p2.getName());    }}
阅读全文
0 0
原创粉丝点击