zoukankan      html  css  js  c++  java
  • 二、Java面向对象(4)_构造函数

    2018-04-29

     

    构造函数(构造方法/构造器)

     

    在java类中,如果不显示声明构造函数,JVM 会给该类一个无参的默认(缺省)的构造函数,这个构造函数不执行任何代码(即花括号里无方法体)且你产生类的对象时只能用不带参数的方法。一个类 可以有多个构造函数(重载)。一个类 至少存在一个构造函数
    当一个类声明了构造函数以后,JVM 是不会再给该类分配默认的构造函数。因此写了有参数的构造方法就最好加一个无参数的构造方法。

    ---------------------------------------------------------------------------------------------------------------------------

    一、构造函数的作用

    • 创建类的对象,必须和new关键字一起使用(创建对象其实是在调用构造函数,构造函数不能直接被调用,必须和new一起使用)。
    • 初始化(实例化)对象

     

    二、构造函数的特点

    • 构造方法的方法名必须与类名相同。
    • 构造方法没有返回类型(因此在方法名前不申明返回类型),也不能定义为void。  void Student(){};这是普通方法。
    • 构造方法中不需要使用return返回语句。(其实构造方法是有返回值的,它返回的是当前创建对象的引用)。
    • 构造方法可以重载。

     

    三、默认(缺省)构造函数

    • 符合构造函数的特点
    • 无参数
    • 无方法体
    • 如果类A没有使用public修饰,则默认构造函数也没有public修饰符

       如果类A使用了public修饰,那么默认构造函数也使用public修饰符

       (一般来说,默认构造函数与当前类的访问修饰符是一致的)

     

    代码说明:

     1 public class Test3 {
     2    private int n;
     3 
     4    Test3() {
     5       System.out.println("调用默认构造器");
     6    }
     7 
     8    Test3(int n) {
     9       this.n = n;
    10      System.out.println("调用非默认构造器");
    11   }
    12 
    13    public static void main(String[] args) {
    14        Test3 t1; //声明一个对象 不调用任何构造函数(没有初始化)
    15        Test3 t2 = new Test3(); //声明并创建一个对象 使用默认构造函数
    16        Test3 t3 = new Test3(3); //声明并创建一个对象 使用非默认构造函数 不使用默认构造函数
    17    }
    18 }

    四、构造函数的重载

      构造方法是一种特殊的方法,可以重载。

  • 相关阅读:
    植物大战僵尸英文原版
    2020-5-13递归练习 六人参加竞赛
    2020-5-1递归练习
    java当脚本用。QQ表白轰炸机
    面向实战---VUE项目的文件加载顺序,或者加载流程,以及index.html,main.js,app.vue的区别
    CSS多个view随机分布,不重叠,如何实现呢?
    vite项目才踩坑日志1
    css属性之clip-path
    纯CSS3实现的阳光海鸥沙滩遮阳伞和比基尼美女风景动画效果源码
    TP5 中使用wherein 进行查询,太慢了,怎么优化?
  • 原文地址:https://www.cnblogs.com/sunNoI/p/8972072.html
Copyright © 2011-2022 走看看