# 深入构造器
> 构造器的最大用处就是创建对象。
如果在类定义中没有显式的定义一个构造器,则编译器在编译源文件时,会创建一个没有参数、没有方法体执行语句的空的构造器。
如果显式的定义了一个构造器,则上述的空的构造器则不会存在。
在调用构造器创建对象的时候,系统会为每个对象的实例变量设置默认值
> 基本数据:数值型的为0,布尔类型的为false,char类型的为’\u0000’;
> 引用数据类型:null;
> 如果在方法中定义的局部变量:系统是不会对其设置默认值的,必须要显式的通过赋值运算符=给变量赋值。
**通过构造器为成员变量定义初始化值,这也是构造器的最最重要的用途之一。**
## 构造器重载
如果需要在构造器中调用另外一个构造器,可以使用 this(params);
在构造器中调用构造器,必须把this(params)放在有效的执行语句第一行,而且不允许出现两条this(params)语句。
~~~
public Client1(int age, String code, String name) {
this(age);
this.name = name;
}
public Client1(String code) {
this.code = code;
}
public Client1(int age) {
// 复用
if (age < 0 || age > 150) {
System.out.println("不合法的年龄数据");
} else {
this.age = age;
}
}
~~~
- 前言
- 计算机概论
- 数据库
- 数据库介绍
- MySQL的安装
- SQL
- 表基本操作
- 修改数据语句
- 数据检索操作
- 多表数据操作
- 表结构设计
- 综合应用
- JAVA
- JAVA 介绍
- JAVA 运行原理
- JDK 配置
- 类和对象
- 数据类型
- 变量
- 直接量
- 运算符
- 流程控制
- 数组结构
- 面向对象
- 隐藏和封装
- 深入构造器
- 类的继承
- 多态
- 包装类
- final 修饰符
- 抽象类
- 接口
- 集合框架
- 常用类学习
- 异常处理
- 设计模式-单例模式
- JDBC
- JSP&Servlet
- Web应用
- Tomcat
- JSP
- Scriptlet
- Page 指令
- 包含指令
- 跳转指令
- 用户注册实例
- JSP练习
- 内置对象
- Servlet
- 过滤器
- Web分层思想
- EL表达式
- JSTL
- 分页实现
- AJAX&JSON
- 开发步骤
- 路径问题
- Log4j
- 电子书城
- 案例分析
- 核心代码
- Java 高级
- 文件操作
- 泛型
- 类加载机制和反射
- 注解 Annotation
- Mybatis框架
- 框架介绍
- Mybatis简单实现
- 表基本操作
- 优化配置文件
- 表字段名与实体类属性名不同的解决方案
- 一对一关联
- 一对多关联
- 教学管理
- 学员名录
- 周测统计
- 2017-10-27
- 2017-11-03
- 2017-11-10
- 2017-11-17
- 课堂作业
- 班会纪要
- 2017-10-24
- 缺勤记录
- 班级备忘录
- 违纪统计
- 编程素养
- Day001
- Day002
- Day003
- Day004
- Day005
- Day006
- Day007
- Day008
- Day009
- Day010
- Day011
- Day012
- Day013
- Day014
- Day015
- Day016
- Day017
- Day018
- Day019