202110-29 一篇文章教你使用枚举来实现java单例模式 目录传统的单例写法解决了什么问题仍然存在的问题为什么枚举就没有问题总结传统的单例写法解决了什么问题首先,在大多数情况下(不包含面试),传统的单例写法已经完全够用了。通过synchronized关键字解决了多线程并发使用。publicsynchronizedstaticSingleClassV1getInstance(){if(instance==null){instance=newSingleClassV1();}returninstance;}考虑到每次获取单例对象... 继续阅读 >
202110-12 Java的枚举,注解和反射(二) 目录反射什么是反射?反射的用途反射的具体作用反射的主要APIClass类总结反射什么是反射?反射是指在程序运行期间,可以通过ReflectionApi提供方法可以获取任何类的内部的信息,并能直接操作任意类的方法和属性。反射被视为动态语言的关键。//在反射之前可以做的事情@TestpublicvoidTest1(){//创建Person类的对象Personperson=newPerson("name",78);//通过对象调用其内部的方法和属性... 继续阅读 >
202110-12 Java的枚举,注解和反射(一) 目录枚举什么是枚举?枚举类的实现自定义实现枚举类使用关键字enum定义枚举类Enum的常用方法实现接口的枚举类注解注解概述常见的注解总结枚举什么是枚举?枚举的字面意思就是一一列举出来在数学和计算机科学理论中,一个集的枚举是列出某些有穷序列集的所有成员的程序,或者是一种特定类型对象的计数。这两种类型经常(但不总是)重叠。是一个被命名的整型常数的集合,枚举在日常生活中很常见,例如表示星期的SUNDAY、MONDAY、TUE... 继续阅读 >
202109-29 java策略枚举:消除在项目里大批量使用if-else的优雅姿势 想起刚开始接触JAVA面向对象编程时,若遇到大量流程判断语句,几乎满屏都是if-else语句,多得让自己都忘了哪里是头,哪里是尾,但是,纵然满屏是if-else,但彼时也没有觉得多别扭。等到编程能力渐渐提升之后,再回过头去看曾经写过的满屏if-else时,脑海里只有一个画面,全都是翔.....可能初学者都会忽略掉一点,其实if-else是一种面向过程的实现。那么,如何避免在面向对象编程里大量使用if-else呢?网络上有很多解决思路,有工厂... 继续阅读 >
202109-16 Java枚举与注解的创建步骤 目录枚举自定义枚举类创建方法注意事项关键字Enum枚举类创建步骤注意事项Enum成员方法例:创建一个枚举类并打印其中的常量对象注解@override元注解(了解)总结枚举自定义枚举类创建方法将构造器私有化,防止直接new去掉setXXX方法,防止属性直接被修改在类的内部,直接创建固定的对象优化:在创建对象时添加final修饰,类就不会被加载注意事项对枚举对象/属性使用final+static共同修饰,实现底层优化枚举... 继续阅读 >
202108-20 Java灵活使用枚举表示一组字符串的操作 Java枚举表示一组字符串publicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println("HelloWorld!");System.out.println(Season.SPRING.toString());System.out.println(Season.SPRING.value());}}enumSeason{SPRING("spring"),SUMMER("summer"),AUTUMN("autumn"),WINTER("winter");publicfinalStringvalue;privateSeason(Stringvalue){this.value=value;}p... 继续阅读 >
202106-19 Java基础之枚举Enum类案例详解 一、文章序言Java中引用类型:数组、类、接口、枚举、注解枚举这个既熟悉又陌生的东西具体再哪里可以使用呢?什么是枚举?枚举是一个引用类型,枚举就是一个规定了取值范围的变量类型。枚举变量不能使用其他的数据,只能使用枚举中常量赋值。提高程序安全性;//格式:publicenum枚举名{//枚举的取值范围//枚举中可以生命方法}枚举的使用场景介绍?1、最常见的情况如星期,相关变量我们会在Java里面重复... 继续阅读 >