- Java教程
- Java - 主页
- Java - 概述
- Java - 环境设置
- Java - 基本语法
- Java - 变量类型
- Java - 基本数据类型
- Java - 基本运算符
- Java 控制语句
- Java - 循环控制
- Java - 决策
- Java - 如果-否则
- Java-开关
- Java - For 循环
- Java - For-Each 循环
- Java - While 循环
- Java - do-while 循环
- Java - 中断
- Java - 继续
- 面向对象编程
- Java - 对象和类
- Java - 方法
- Java - 构造函数
- Java - 访问修饰符
- Java-继承
- Java-多态性
- Java - 重写
- Java-抽象
- Java-封装
- Java - 接口
- Java - 包
- Java - 内部类
- Java 数据类型
- Java - 字符
- Java 文件处理
- Java - 文件和 I/O
- Java 错误与异常
- Java - 异常
- Java多线程
- Java-多线程
- Java同步
- Java-同步
- Java-线程间通信
- Java-线程死锁
- Java-线程控制
- Java网络
- Java-网络
- Java-URL 处理
- Java - 泛型
- Java集合
- Java - 集合
- Java列表接口
- Java - 列表接口
- Java队列接口
- Java - 队列接口
- Java地图接口
- Java - 地图接口
- Java - SortedMap 接口
- Java设置接口
- Java - 设置接口
- Java - SortedSet 接口
- Java数据结构
- Java - 数据结构
- Java-枚举
- Java 集合算法
- Java - 集合
- Java - 迭代器
- Java - 比较器
- Java杂项
- Java - 正则表达式
- Java-序列化
- Java - 发送电子邮件
- Java - Applet 基础知识
- Java - 文档
- Java 有用资源
- Java - 问题与解答
- Java - 快速指南
- Java - 有用的资源
- Java - 讨论
- Java - 示例
Java - 构造函数
构造函数在创建对象时对其进行初始化。它与其类具有相同的名称,并且在语法上类似于方法。但是,构造函数没有显式的返回类型。
通常,您将使用构造函数为类定义的实例变量赋予初始值,或执行创建完全形成的对象所需的任何其他启动过程。
所有类都有构造函数,无论您是否定义了构造函数,因为 Java 自动提供了一个默认构造函数,它将所有成员变量初始化为零。但是,一旦定义了自己的构造函数,就不再使用默认构造函数。
句法
以下是构造函数的语法 -
class ClassName { ClassName() { } }
Java 允许两种类型的构造函数,即 -
- 无参数构造函数
- 参数化构造函数
无参数构造函数
正如名称所示,Java 的无参数构造函数不接受任何参数,使用这些构造函数,方法的实例变量将使用所有对象的固定值进行初始化。
例子
Public class MyClass { Int num; MyClass() { num = 100; } }
您将调用构造函数来初始化对象,如下所示
public class ConsDemo { public static void main(String args[]) { MyClass t1 = new MyClass(); MyClass t2 = new MyClass(); System.out.println(t1.num + " " + t2.num); } }
输出
100 100
参数化构造函数
大多数情况下,您需要一个接受一个或多个参数的构造函数。参数添加到构造函数的方式与添加到方法的方式相同,只需在构造函数名称后面的括号内声明它们即可。
例子
这是一个使用构造函数的简单示例 -
// A simple constructor. class MyClass { int x; // Following is the constructor MyClass(int i ) { x = i; } }
您可以调用构造函数来初始化对象,如下所示 -
public class ConsDemo { public static void main(String args[]) { MyClass t1 = new MyClass( 10 ); MyClass t2 = new MyClass( 20 ); System.out.println(t1.x + " " + t2.x); } }
输出
10 20