java构造方法的特性:

2019年2月14日22:31:03 发表评论 1,210 views

在 Java 程序 里, 构造 方法 所 完成 的 主要 工作 是 帮助 新 创建 的 对象 赋 初值。 可将 构造 方法 视为 一种 特殊 的 方法, 它的 定义 方式 与 普通 方法 类似, 其 语法 如下。

在使 用 构造 方法 的 时候 需 注意 以下 两点。 ⑴ 它 具有 与 类 名 相同 的 名称。 ⑵ 它 没有 返回 值。 构造 方法 除了 没有 返回 值, 且 名称 必须 与 类 的 名称 相同 之外, 它的 调用 时机 也 与 一般 的 方法 不同。 一般 的 方法 是在 需要 时 才 调用, 而 构造 方法 则是 在 创建 对象 时 自动 调用, 并 执行 构造 方法 的 内容。 因此, 构造 方法 无需 在 程序 中直 接 调用, 而是 在 对象 产生 时 自动 执行。 基于 上述 构造 方法 的 特性, 可利用 它来 对 对象 的 数据 成员 做 初始化 的 赋值。 所谓 初始化 就是 为 对象 赋 初值。

 

 

 

 

/**
 * Created by xabcd on 2019/2/14.
 */
public class Person2
{
    public Person2(){
        System.out.println("public Person()");
    }
}





/**
 * Created by xabcd on 2019/2/14.
 */
public class TestPerson2
{
    public static void main(String[] args)
    {
        Person2 p = new Person2();//换成new Person2();同样可用
    }
}




结果:
public Person()






从此 程序 中 读者 不难 发现, 在 类 中 声明 的 构造 方法, 会在 实例 化 对象 时 自动 调用。 读者 可能 会 问, 在 之前 的 程序 中用 同样 的 方法 来 产生 对象, 但 是在 类 中 并没有 声明 任何 构造 方法, 而 程序 不 也 一样 可以 正常 运行 吗? 实际上, 读者 在 执行 Javac 编译 Java 程序 的 时候, 如果 在 程序 中 没有 明确 声明 一个 构造 方法 的 话, 系统 会 自动 为 类 加入 一个 无 参 的 且 什么 都 不做 的 构造 方法, 类似于 下面 代码。 public Person() {} 所以, 之前 所 使用 的 程序 虽然 没有 明确 地 声明 构造 方法, 也是 可以 正常 运行 的。

 

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: