java面向对象构造函数的学习

来源:互联网 发布:unity3d遮罩shader 编辑:程序博客网 时间:2024/06/05 08:37
 特点:
    1、函数名与类名相同。
    2、不用定义返回值类型。
    3、没有具体的返回值。

    
    P.S.    
    在构造函数前面加上返回值就只是一般函数了。

    作用:给对象进行初始化。


    示例:

class Person{       private String name ;       private int age ;       //定义一个Person类的构造函数       //构造函数,而且是空参数的      Person(){            System.out.println("person run");      }       public void speak(){            System.out.println(name + ":" + age);      }}class ConsDemo{       public static void main(String[] args){             //构造函数:构建创造对象时调用的函数             //作用:可以给对象进行初始化            Person p = new Person();            p.speak();      }} 

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

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

    2、创建对象都必须要通过构造函数初始化。
    一个类中如果没有定义过构造函数,那么该类中会有一个默认的空参数构造函数。
    如果在类中定义了指定的构造函数,那么类中的默认构造函数就没有了。


    3、多个构造函数是以重载的形式存在的。

    示例:
class Person{          private String name ;          private int age ;                Person(){                   name = "baby" ;                   age = 1;                   System.out.println("person run");          }          //如果有的孩子一出生就有名字          Person(String n){                 name = n;          }                       //如果有的孩子一出生就有名字和年龄          Person(String n, int a){                 name = n;                 age = a;          }                      public void speak(){              System.out.println(name + ":" + age);          }}class ConsDemo{       public static void main(String[] args){            Person p1 = new Person();            p1.speak();            Person p2 = new Person("旺财" );            p2.speak();            Person p3 = new Person("小强" ,10);            p3.speak();      }}



0 0
原创粉丝点击