zoukankan      html  css  js  c++  java
  • Java连载39-构造方法详解

    ​一、

    1.多行注释:CTRL + shift + /

    2.当一个类中没有定义任何构造方法的话,系统默认给该类提供一个无参数的构造方法,这个构造方法被称为缺省构造器。

    public class D39_ {
    
      public static void main(String[] args) {
    
        new User();
    
      }
    
    }

    编译通过,我们事先定义了一个类User,里面没有构造方法。

    3.当一个类显式的将构造方法定义出来了,那么系统则不再默认提供缺省的构造器。建议开发中,手动的为当前类提供无参数的构造方法,因为无参数构造方法太常用了。

    4.构造方法支持重载机制,在一个类中编写多个构造方法,这多个构造方法显然已经构成了方法重载机制。

    5.构造方法的作用:

    (1)创建对象

    (2)创建对象的同时,初始化实例变量的内存空间

    成员变量之实例变量,属于对象级别的变量,这种变量必须先有对象才能有实例变量。实例变量没有手动赋值的时候,系统默认赋值,那么这个西永默认赋值实在什么时候完成的呢​?

    是在加载类的​时候吗?

    不是,因为类加载的时候只加载了代码片段,还没有来得及创建对象,所以此时实例变量没有初始化。实际上,实力变量的内存空间实在构造方法执行的过程中完成开辟的,完成初始化的,系统在默认赋值的时候,也是在构造方法执行的过程中完成​的赋值。

    实例变量默认值:

    byte/short/int/long都是0

    /float/double都是0.0

    boolean是false

    6.快捷键:

    (1)CTRL + o :在一个类中,如果元素过多,可以通过这个快捷键来查找我们想要的元素。

    (2)按住CTRL键,然后鼠标移动发到查看的元素上,出现下划线的时候开始单击,可以跳转到,代码行。

    (3)快速生成构造函数​:右键-源码-使用字段生成构造函数

    package com.bjpowernode.java_learning;
    
    ​
    
    public class D39_ {
    
      public static void main(String[] args) {
    
        //创建User对象,调用User类的构造方法来完成对象的创建
    
        //以下程序创建了4个对象,只要构造函数调用就会创建对象,并且一定是在”堆内存“中开辟出来的内存空间
    
        String s1 = "jfsiauhf";
    
        int i1 = 5;
    
        User u1 = new User(s1);
    
        User u2 = new User(i1);
    
        User u3 = new User();
    
        System.out.println("fjisf");
    
        //调用带有static的方法
    
        u3.sum();
    
        //调用不带static的方法
    
        /**
    
         * javadoc的格式
    
         */
    
        u3.getAge();
    
       
    
        Account act1 = new Account();
    
        act1.getActno();
    
    ​
    
      }
    
    }
     
    package com.bjpowernode.java_learning;
    
    ​
    
    public class Account {
    
      //账号
    
      private String actno;
    
     
    
      /**
    
       * @param actno
    
       * @param balance
    
       */
    
      public Account(String actno, double balance) {
    
        super();
    
        this.actno = actno;
    
        this.balance = balance;
    
      }
    
    ​
    
      //余额
    
      private double balance;
    
     
    
      public String getActno() {
    
        return actno;
    
      }
    
    ​
    
      public void setActno(String actno) {
    
        this.actno = actno;
    
      }
    
    ​
    
      public double getBalance() {
    
        return balance;
    
      }
    
    ​
    
      public void setBalance(double balance) {
    
        this.balance = balance;
    
      }
    
    }
    
    ​

    二、源码:

    D39_construction_method

    Account.java

    地址:

    https://github.com/ruigege66/Java/blob/master/D39_construction_method

    https://github.com/ruigege66/Java/blob/master/Account.java

    2.CSDN:https://blog.csdn.net/weixin_44630050(心悦君兮君不知-睿)

    3.博客园:https://www.cnblogs.com/ruigege0000/

    4.欢迎关注微信公众号:傅里叶变换,个人公众号,仅用于学习交流,后台回复”礼包“,获取大数据学习资料

     

  • 相关阅读:
    关于软件设计中遇到的问题
    关于power shell
    如果TChart的发生异常
    重温gof版《设计模式》中的创建型模式
    如何更好的使用cvs
    存储过程返回临时表的问题
    关于bugzilla与svn结合的配置注意事项
    VC知识点:如何用vc6调试CGI程序
    如何让应用程序托盘化
    符号表
  • 原文地址:https://www.cnblogs.com/ruigege0000/p/11668996.html
Copyright © 2011-2022 走看看