构造函数和构造代码块

来源:互联网 发布:mac office 2016 破解 编辑:程序博客网 时间:2024/06/10 14:24
/*构造函数:特点:1.函数名与类名相同2.不用定义返回值类型(与void不一样,void是一种返回值类型,代表着没有具体返回值的情况3.不可以写return语句作用:给对象进行初始化注意:1.默认构造函数的特点2.多个构造函数是以重载的形式存在的构造函数和一般函数在写法上有不同在运行上也有不同:构造函数:在对象一建立就运行,给对象初始化一般函数:对象调用才执行,是给对象添加对象具备的功能一个对象建立,构造函数只执行一次而一般函数可以被对象调用多次什么时候定义构造函数呢?当分析事物时,该事物存在具备一些特性或行为,那么将这些内容初始化在构造函数中*/class Person1{private String name;private int age;/*构造代码块作用:给对象进行初始化对象一建立就运行,而且优于构造函数执行和构造函数的区别:构造代码块是给所有对象进行统一初始化而构造函数是给对应的对象初始化构造代码块中定义的是不同对象共性的初始化内容*/{//System.out.println("Hi, I go first");cry();}Person1(){System.out.println("A:name="+name+" age="+age);//cry();}Person1(String n){name = n;System.out.println("B:name="+name+" age="+age);//cry();}Person1(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 boolean compare(Person1 p){return this.age==p.age;}}class ConstructorDemo{public static void main(String[] args){/*对象一建立就会调用与之对应的构造函数构造函数的作用:可以用于给对象进行初始化当一个类中没有定义构造函数时,系统会自动增加一个默认空参数构造函数*/Person1 p1 = new Person1();Person1 p2 = new Person1("lili", 2);Person1 p3 = new Person1("wawa", 4);boolean b = p2.compare(p3);System.out.println(b);}}

原创粉丝点击