• JAVA_SE基础——29.构造函数


    jvm创建Java对象时候需要调用构造器,默认是不带参数的.在构造器中,你可以让jvm帮你初始化一些参数或者执行一系列的动作. 它是对象创建中执行的函数,及第一个被执行的方法

    特点:
        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();
          }
    }
    运行结果:

    person run
    null:0

     

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


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


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


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

     

    class Person_1{
              private String name ;
              private int age ;
          
              Person_1(){
                       name = "baby" ;
                       age = 1;
                       System.out.println("person run");
              }
    
              //如果有的孩子一出生就有名字
              Person_1(String n){//有参构造器
                     name = n;
              }
                
               //如果有的孩子一出生就有名字和年龄
              Person_1(String n, int a){//有参构造器
    
                     name = n;
                     age = a;
              }
                
              public void speak(){
                  System.out.println(name + ":" + age);
              }
    }
    
    class ConsDemo_1{
           public static void main(String[] args){
        	   Person_1 p1 = new Person_1();//创建对象Person_1的同时,已经调用了无参构造函数了。
                p1.speak();
                Person_1 p2 = new Person_1("家仪" );
                p2.speak();
                Person_1 p3 = new Person_1("张家" ,10);
                p3.speak();
          }
    }
    运行结果:

    person run
    baby:1
    家仪:0
    张家:10

     

     

    JAVA的类的这些方面体现面向对象的封装性总结一下:

     

    构造器:java里面的构造器是一个与类同名的特殊的方法,称为构造方法,在创建类的对象时使用,用于对象初始化。
     
    设置器:是一个针对类的某个私有属性成员属性的有特殊命名要求的方法,发XXX属性,应为setXXX。主要提供对私有属性的改变,提供一个设置变量值的途径。
     
    访问器:是一个针对类的某个私有属性成员属性的有特殊命名要求的方法,如对XXX属性,应为getXXX。主要提供对私有属性的值,提供一个获得变量值的途径。

     

     

     



     

  • 相关阅读:
    第一篇日志
    Spring mvc 4系列教程(三)—— Spring4.X的新特性
    Spring mvc 4系列教程(二)——依赖管理(Dependency Management)和命名规范(Naming Conventions)
    Spring mvc 4系列教程(一)
    【管理心得之三十六】《黄帝内经》中的一句话
    【管理心得之三十五】好习惯也能惹“骂名”
    【管理心得之三十四】“禅宗境界”的员工
    【管理心得之三十三】管理者的“眉头”
    【管理心得之三十二】PMP杂谈---------爱情必胜术
    【管理心得之三十一】我的位置
  • 原文地址:https://www.cnblogs.com/Jhaiha0/p/8465315.html
Copyright © 2020-2023  润新知