![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
hm宋
这个作者很懒,什么都没留下…
展开
-
抽象类和接口
抽象类1、抽象方法使用abstract修饰的方法,没有方法体,只有声明。定义的是一种规范,告诉子类必须要给抽象方法提供具体实现。2、抽象类包含抽象方法的类就是抽象类。通过abstract方法定义规范,要求子类必须定义具体实现。通过抽象类,可以做到严格限制子类设计,使子类之间更加通用。3、抽象类使用要点有抽象方法的类只能定义成抽象类抽象类不能实例化,即不能用new来实例化抽象类抽象类可以包含属性,方法,构造函数。但构造函数不能来new实例,只能用来被子类调用。抽象类只能用来被继承抽象方法原创 2020-11-12 14:49:54 · 130 阅读 · 0 评论 -
单例模式
创建型设计模式,确保一个类只有一个实例,并提供该实例的全局访问点。使用一个私有构造函数,一个私有静态变量以及一个公有静态函数来实现。私有构造函数保证了不能通过构造函数来创建对象实例,只能通过公有静态函数返回唯一的私有静态变量。实现1、饿汉式-线程安全public class singleton{ private static Singleton instance = new singleton(); private Singleton(){ } public static Singleto原创 2020-11-11 21:22:38 · 147 阅读 · 0 评论 -
类加载过程
包括加载、验证、准备、解析、初始化五个阶段。1、加载通过全限定类名获取该类的二进制字节流将该二进制字节流表示的静态存储结构转换为方法区的运行时存储结构在内存中生成一个代表该类的class对象,作为方法区中该类各种数据的访问入口2、验证确保当前class的二进制字节流信息符合当前虚拟的的要求,且不会危害当前虚拟机的安全。3、准备准备阶段为类变量分配内存并设置初始值,使用的是方法区的内存,类变量指被static修饰的变量。4、解析将常量池的符号引用替换为直接引用的过程。5、初始化初始原创 2020-11-10 13:13:40 · 56 阅读 · 0 评论 -
关于null != a 与 a != null 的区别
功能上是没有区别的,企业里大多是时候是推荐第二种的,是因为能够防止程序员书写遗漏等号导致错误。比如:null != a 这样少了“!”也会报错。而a !=null少了"!"就不会报错了。程序员有时候容易把 == 误写为 = ,如果把常量放前面 5 = i ,会编译错误,而写成i=5就不会报错了,所以这样写能发现这种笔误bug。原文:https://blog.csdn.net/weixin_41...原创 2019-07-31 13:03:00 · 2334 阅读 · 0 评论