目录 谈谈枚举 1. 枚举类的定义 2. 枚举类的底层实现 3. 枚举类的序列化实现 4. 用枚举实现单列 5. 枚举实例的创建过程是线程安全的 谈谈枚举 如果一个类的对象个数是有限的而且是不变的,我们通常将这样的类设计成枚举类. 1. 枚举类的定义 枚举类有如下特点: 枚举类默认是使用final关键字修饰的,所以枚举类不能被继承: 枚举类的构造函数默认是使用private修饰的: 定义枚举类时所有实例必须在第一行全部列出: 枚举类也可以实现接口: 枚举类可以包含抽象方法. //默认final修…
业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一章-初识java JAVA基础第二章-java三大特性:封装.继承.多态 类与对象 什么是类? 类是抽象的概念集合,表示的是一个共性的产物,类之中定义的是属性和行为(方法). 什么是对象? 对象是一种个性的表示,表示一个独立的个体,每个对象拥有自己独立的属性,依靠属性来区分不同对象. 所以总结来说的…
Java基础-日期格式化DateFormat类简介 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.DateFormat类概述 DateFormat 是日期/时间格式化子类的抽象类(说明不能被直接实例化),它以与语言无关的方式格式化并解析日期或时间.日期/时间格式化子类(如 SimpleDateFormat)允许进行格式化(也就是日期 -> 文本).解析(文本-> 日期)和标准化.将日期表示为 Date 对象,或者表示为从 GMT(格林尼治标准时间)1970 年 1 月…
051 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 13 Eclipse下程序调试--debug入门1 本文知识点: 程序调试--debug入门1 程序如何调试?--debug 工作中,开发人员和测试人员经常说,在找bug.那bug是什么呢?其实就是程序中的错误或者说是缺陷.为什么叫bug呢? 小故事时间: bug英文是虫子的意思,为什么把错误叫虫子呢? 故事要回到遥远的计算机产生的时代. 那时候的计算机都还是大型机,一间大房子只能放一个大型机的那…
006 01 Android 零基础入门 01 Java基础语法 01 Java初识 06 使用Eclipse开发Java程序 Eclipse下创建程序 创建程序分为以下几个步骤: 1.首先是创建一个Java工程 2.在Java工程下创建一个package,即创建一个包 3.在package下创建类 4.最后是编写和执行程序 Eclipse下创建工程 Java中构建设置: 工程创建好:src目录存放Java源文件 在Eclipse创建好的工程中创建包 包的好处之一:不同的包下面可以建立相同名字的…
Java基础16:Java多线程基础最全总结 Java中的线程 Java之父对线程的定义是: 线程是一个独立执行的调用序列,同一个进程的线程在同一时刻共享一些系统资源(比如文件句柄等)也能访问同一个进程所创建的对象资源(内存资源).java.lang.Thread对象负责统计和控制这种行为. 每个程序都至少拥有一个线程-即作为Java虚拟机(JVM)启动参数运行在主类main方法的线程.在Java虚拟机初始化过程中也可能启动其他的后台线程.这种线程的数目和种类因JVM的实现而异.然而所有用户级线…
只为成功找方法,不为失败找借口! 永不放弃,一切皆有可能!!! java基础学习总结——java环境变量配置 前言 学习java的第一步就要搭建java的学习环境,首先是要安装 JDK,JDK安装好之后,还需要在电脑上配置"JAVA_HOME”."path”."classpath"这三个环境变量才能够把java的开发环境 搭建好.在没安装过jdk的环境下,path环境变量是系统变量,本来存在的,而JAVA_HOME和classpath是不存在的. 一.配置JAVA_…
Java基础教程:Java内存区域 运行时数据区域 Java虚拟机在执行Java程序的过程种会把它所管理的内存划分为若干个不同的数据区域.这些区域都有各自的用途,以及创建和销毁的时间,有的区域随着虚拟机进程的启动而存在,有些区域则依赖用户线程的启动和结束而建立和销毁. 根据<Java虚拟机规范>,Java虚拟机管理的内存将会包括以下几个运行时数据区域 程序计数器 程序技术器是一块较小的内存空间,可视为当前线程所执行的字节码的行号计时器. 在多线程开发中,为了线程切换后能恢复到正确的执行位置,每…
068 01 Android 零基础入门 01 Java基础语法 08 Java方法 06 参数传递问题--基本数据类型传值 本文知识点:参数传递问题--基本数据类型传值 说明:因为时间紧张,本人写博客过程中只是对知识点的关键步骤进行了截图记录,没有对截图步骤进行详细的文字说明(后面博主时间充裕了,会对目前的博客编辑修改,补充上详细的文字说明):有些步骤和相关知识点缺乏文字描述,可能会难以理解.读者如有不明之处,欢迎博客私信或者微信(本人微信在博客下方的"关于博主"处)与本人交流,共同…
064 01 Android 零基础入门 01 Java基础语法 08 Java方法 02 无参带返回值方法 本文知识点:无参带返回值方法 说明:因为时间紧张,本人写博客过程中只是对知识点的关键步骤进行了截图记录,没有对步骤进行详细的文字说明:有些地方缺乏文字描述,可能会难以理解.读者如有不明之处,欢迎博客私信或者微信(本人微信在博客下方的作者简介处)与本人交流 无参带返回值方法 前情回顾--无参带返回值方法例子--Scanner类 案例练习--自定义无参带返回值方法--求长方形面积…