zoukankan      html  css  js  c++  java
  • 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。主要提供对私有属性的值,提供一个获得变量值的途径。

     

     

     



     

  • 相关阅读:
    阿里terway源码分析
    golang timeoutHandler解析及kubernetes中的变种
    第四章 控制和循环
    关于 自媒体的声明
    java用正则表达式获取url的域名
    javaweb三大核心基础技术
    NumPy之计算两个矩阵的成对平方欧氏距离
    C/C++之计算两个整型的平均值
    C/C++代码优化之整型除以2的指数并四舍五入
    SSE系列内置函数中的shuffle函数
  • 原文地址:https://www.cnblogs.com/Jhaiha0/p/8465315.html
Copyright © 2011-2022 走看看