-
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
出 处:https://www.cnblogs.com/ruigege0000/p/11668996.html