java中如何防止类被初始化(实例化)?

转载 2015年11月18日 16:13:19

如何防止类被初始化(实例化)?

防止类不能实例化。也就是这个类不能被“new”出来,通过标记该类为抽象类,编译器就知道不管在哪里,这个类就是不能创建如何类型的实例。

抽象类:

抽象类是不能被实例化(初始化)的,只能通过它的子类来实现该类的实例化(初始化),除非它的子类也是一个抽象类。

抽象类不能是密封或者是静态的,抽象类被子类继承并实现它的抽象方法和非抽象方法。

抽象的类代表该类中的方法(非抽象方法和抽象方法)一定要被继承它的子类实现。

具体类:

不是抽象类就被称为具体类。

抽象方法:

抽象类中某些行为在没有特定的运行时不会有任何意义的时候,可以将它设定为抽象方法。


注意:如果你声明一个抽象方法,就必须将类也标记为抽象的,不能在非抽象类中存在抽象方法。

注:该文章是总结性文章,一些在HeadFirst java书中,一些在 http://www.cnblogs.com/028fly/archive/2009/06/06/1497079.html 文章中

私有构造函数可以防止该类在外部被实例化

例如 [java] view plain copy public class DiskUtil {     private DiskUtil() {  }        publ...
  • niusi1288
  • niusi1288
  • 2017年07月10日 09:17
  • 347

防止类被实例化的方法

1. 定义一个无用的抽象函数,使得类成为抽象类。抽象类是不能被实例化的。 2. 把类的构造函数声明为private。...
  • suwei19870312
  • suwei19870312
  • 2011年07月23日 16:10
  • 1407

不得不知道的Java内存溢出之在经常调用的方法内不要new大对象

相信只要你看过Java的书,你一定会看到类似这样的话:千万不要假想内在处理器已经帮你把内存处理好了去做事。         看过,真的就只是看过。和C还有C++相比,Java在大部分时间都可以省去了...
  • jianxin1009
  • jianxin1009
  • 2014年03月27日 21:53
  • 9568

自定义java.policy配置(如何让你的类禁止读写文件?禁止创建Socket对象?)

最近做的项目有一个特殊的需求,由于系统是CS的,客户端需要自己编写JAVA类上传至服务器运行,整个流程如下: 1.客户端编写JAVA类,并实现特定接口 2.由客户端的JAVA编译器将其编译成cla...
  • zhoche2008
  • zhoche2008
  • 2011年12月25日 22:44
  • 7951

C++如何阻止一个类被实例化

(1)将类定义为抽象基类或者将构造函数声明为private;  (2)不允许类外部创建类对象,只能在类内部创建对象...
  • wkyb608
  • wkyb608
  • 2015年03月30日 10:54
  • 1364

Java 让工具类不可实例化

java 项目中使用的工具类非常多,比如JDK自己的工具java.lang.Math 、java.util.Collections 等都是我们经常用到的工具类。工具类的属性和方法都是静态的,不需要生成...
  • hehexiaoyou
  • hehexiaoyou
  • 2014年04月15日 14:04
  • 5132

java内存泄漏分类及避免

要点 内存泄露是指程序中间动态分配了内存,但在程序结束时没有释放这部分内存,从而造成那部分内存不可用的情况,重启计算机可以解决,但也有可能再次发生内存泄露,内存泄露和硬件没有关系,它是由软件设计...
  • huangjin0507
  • huangjin0507
  • 2016年09月06日 20:39
  • 1288

Java中阻止线程执行的方法

原文地址:http://www.geeksforgeeks.org/java-concurrency-yield-sleep-and-join-methods/我们可以通过Thread类中的下面几个方...
  • sinat_36246371
  • sinat_36246371
  • 2017年07月05日 13:56
  • 227

让工具类不可实例化

Java项目中使用的工具类非常多,比如JDK自己的工具类java.lang.Math、java.util.Collections等都是我们经常用到的。工具类的方法和属性都是静态的,不需要生成实例即可访...
  • wuwei19841002
  • wuwei19841002
  • 2014年02月11日 10:58
  • 918

关于Java类初始化和实例化中的2个“雷区”

在考虑类初始化时,我们都知道进行子类初始化时,如果父类没有初始化要先初始化子类。然而事情并没有一句话这么简单。 首先看看Java中初始化触发的条件: (1)在使用new实例化对象,访问静态数据和方...
  • Zerohuan
  • Zerohuan
  • 2015年11月24日 19:36
  • 2443
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java中如何防止类被初始化(实例化)?
举报原因:
原因补充:

(最多只允许输入30个字)