1、为什么会提出这个建议即它的优点在哪儿?
2、怎么才能让一类不可实例化。
3、对比小结,让类不可实例化的方法有哪些?
1、查看Math工具类可知,里面都是数学上常用公式的静态方法。经常会被用到,若可以实例化,必然会占用很多不必要的堆空间,而且会降低程序执行效率。这也许是工具类不可实例化的原因之一吧。
2、将构造函数设为private 私有就能防止被实例化。
3、让工具类不可实例化的方法暂之知道这一种。
看如下实例:
public class EveryDay
{
public static void main(String[] args)
{
//类外部不可以实例化。
MathTest m = new MathTest();// 编译报错。
}
}
final class MathTest
{
//方法一
private MathTest()
{
throw new Error("不可被实例化");
}
void test()
{
//只能在类内部实例化。
MathTest d = new MathTest();
}
}