“现在我来介绍构造方法。这是一个非常简单的概念。程序员发明了一种创建和初始化对象的简略方法。”
没有构造方法 |
有构造方法 |
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;
}
…
}
|
“在类中声明构造方法很容易。构造方法类似于 initialize 方法,只是有两点不同:
1.构造方法的名称与类名相同(而不是 initialize)。
2.构造方法没有类型(不指定类型)。”
“好的,它像 initialize,但是有一些区别。我想我明白了。”
GO TO FULL VERSION