“现在我来介绍构造方法。这是一个非常简单的概念。程序员发明了一种创建和初始化对象的简略方法。

没有构造方法 有构造方法
MyFile file = new MyFile();
file.initialize("c:\data\a.txt");
String text = file.readText();
MyFile file = new MyFile("c:\data\a.txt");
String text = file.readText();
MyFile file = new MyFile();
file.initialize("c:\data\", "a.txt");
String text = file.readText();
MyFile file = new MyFile("c:\data\", "a.txt");
String text = file.readText();
MyFile file = new MyFile();
file.initialize("c:\data\a.txt");

MyFile file2 = new MyFile();
file2.initialize( MyFile file, "a.txt");
String text = file2.readText();
MyFile file = new MyFile("c:\data\a.txt");


MyFile file2 = new MyFile(file, "a.txt");
String text = file2.readText();

“我刚刚学完 initialize 方法…”

“看起来比较难。使用构造方法,代码将更加方便和紧凑。”

“确实如此。我有一个问题。我知道如何在类中编写 initialize 方法,但是如何编写构造方法呢?”

“首先,请看以下示例:”

没有构造方法 有构造方法
class MyFile
{
  private String filename = null;

  public void initialize(String name)
  {
    this.filename = name;
  }

  public void initialize(String folder, String name)
  {
    this.filename = folder + name;
  }

  public void initialize(MyFile file, String name)
  {
    this.filename = file.getFolder() + name;
  }}
class MyFile
{
  private String filename = null;

  public MyFile(String name)
  {
    this.filename = name;
  }

  public MyFile(String folder, String name)
  {
    this.filename = folder + name;
  }

  public MyFile(MyFile file, String name)
  {
    this.filename = file.getFolder() + name;
  }}
2
任务
Java 语法,  第 5 级课程 8
已锁定
输入代码
有时你不需要思考,只需要敲击键盘把它打出来!尽管看似矛盾,但有时候你的手指会比你的意识有更好的“记忆力”。这就是为什么在秘密 CodeGym 中心进行培训时,有时会要求你完成一些输入代码的作业。通过输入代码,你将习惯这些语法,并获得一些暗物质。更重要的是,你会与懒惰作斗争!

“在类中声明构造方法很容易。构造方法类似于 initialize 方法,只是有两点不同:

1.构造方法的名称与类名相同(而不是 initialize)。

2.构造方法没有类型(不指定类型)。”

“好的,它像 initialize,但是有一些区别。我想我明白了。”