java编程之枚举类

简介: 一个类中的对象 认为个数是有限且固定的,可以将每一个对象一一列举出来 1.试一试若没有枚举类型的时候,如何手动设计 (静态常量 单例模式) Day(类 当做描述星期 7个对象) private构造方法 public static final属性 = new 2.JDK1.5版本之后可以直接定义enum类型 我们自己定义的enum类型直接默认继承Enum(java.lang包) 我们自己定义的enum类型不能再写extends 但是可以实现 Enum类型

前言解析

   数据类型

   基本 8个

   引用 数组[]  类class 抽象类abstract class  

   接口interface 枚举enum 注解@interface

枚举类

   一个类中的对象 认为个数是有限且固定的,可以将每一个对象一一列举出来

   1.试一试若没有枚举类型的时候,如何手动设计

   (静态常量 单例模式)

   Day(类 当做描述星期 7个对象)

   private构造方法

   public static final属性 = new

   2.JDK1.5版本之后可以直接定义enum类型

我们自己定义的enum类型直接默认继承Enum(java.lang包)

我们自己定义的enum类型不能再写extends 但是可以实现

Enum类型

有两个属性

name----->枚举对象的名字     name()获取name属性

ordinal--->枚举对象在类中罗列的顺序  类似index  也从0开始   ordinal()获取序号

一些常用的方法

valueOf()   通过给定的name获取对应的枚举对象

values()     获取全部的枚举对象  ---> 返回一个数组  Day[]

compareTo()   可以比较两个枚举对象   int

toString()   由于这个方法没有final修饰  可以覆盖(重写)

   3.switch内部判断枚举的应用

   4.我们也可以在enum中描述自己的一些属性或方法

   必须在enum类中第一行 描述一下枚举的样子 最后需要分号结束;

   可以定义自己的属性

   类创建的过程中  帮我们创建枚举类型的对象

   需要给枚举类型提供对应样子的构造方法  构造方法只能private修饰  可以重载

总结:

   截止到现在所有面向对象的编程思想都更过啦

   带你们回顾一下:

如何描述类

 类成员四个  方法

如何创建对象

 执行类成员

类之间的关系

 is-a  has-a  use-a

类中特性

 权限   特征

类之间的设计问题

 设计模式   单例  策略  适配器

类中的一些细节

 内部类  枚举类

内存机制问题

 类创建在哪儿   对象创建在哪里   继承关系   静态成员   方法执行

 栈内存--->Person p = new Person();---->堆内存    方法区---类模板

 栈内存--->创建开始 用完立即回收   StackOverflowError

 方法区--->类   常量   静态   只有一份回收不了

 堆内存--->new创建的对象  Garbage Collection垃圾回收器  GC

Runtime类之中提供了几个管理内存的方法

 maxMemory

 totalMemory

 freeMemory

 堆内存溢出错误OutOfMemoryError

Object类中有一个finalize方法  如果重写也能看见对象回收

GC系统提供的一个线程    回收算法

目录
相关文章
|
21天前
|
SQL Java 数据库
2025 年 Java 从零基础小白到编程高手的详细学习路线攻略
2025年Java学习路线涵盖基础语法、面向对象、数据库、JavaWeb、Spring全家桶、分布式、云原生与高并发技术,结合实战项目与源码分析,助力零基础学员系统掌握Java开发技能,从入门到精通,全面提升竞争力,顺利进阶编程高手。
261 0
|
22天前
|
安全 Java 数据建模
Java记录类:简化数据载体的新选择
Java记录类:简化数据载体的新选择
169 101
|
22天前
|
安全 Java 开发者
Java记录类:简化数据载体的新方式
Java记录类:简化数据载体的新方式
197 100
|
22天前
|
Java 开发者
Java并发编程:CountDownLatch实战解析
Java并发编程:CountDownLatch实战解析
331 100
|
4天前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
36 1
|
4天前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
37 1
|
4天前
|
Java Go 开发工具
【Java】(8)正则表达式的使用与常用类分享
正则表达式定义了字符串的模式。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。
72 1
|
4天前
|
存储 Java 程序员
【Java】(6)全方面带你了解Java里的日期与时间内容,介绍 Calendar、GregorianCalendar、Date类
java.util 包提供了 Date 类来封装当前的日期和时间。Date 类提供两个构造函数来实例化 Date 对象。第一个构造函数使用当前日期和时间来初始化对象。Date( )第二个构造函数接收一个参数,该参数是从1970年1月1日起的毫秒数。
37 1
|
9天前
|
编解码 Java 开发者
Java String类的关键方法总结
以上总结了Java `String` 类最常见和重要功能性方法。每种操作都对应着日常编程任务,并且理解每种操作如何影响及处理 `Strings` 对于任何使用 Java 的开发者来说都至关重要。
100 5
|
1月前
|
NoSQL Java 关系型数据库
超全 Java 学习路线,帮你系统掌握编程的超详细 Java 学习路线
本文为超全Java学习路线,涵盖基础语法、面向对象编程、数据结构与算法、多线程、JVM原理、主流框架(如Spring Boot)、数据库(MySQL、Redis)及项目实战等内容,助力从零基础到企业级开发高手的进阶之路。
149 1

热门文章

最新文章