- 浏览: 940801 次
- 性别:
- 来自: 重庆
文章分类
- 全部博客 (453)
- Windows phone 7 (0)
- Andriod (47)
- iPhone (1)
- Web (30)
- J2EE (34)
- stucts 2学习笔记 (34)
- 开发项目 (3)
- spring学习笔记 (24)
- EJB学习笔记 (6)
- Hibernate学习笔记 (15)
- JPA学习笔记 (8)
- Jsp (11)
- ajax (7)
- 异常收集模块 (1)
- jquery (2)
- phoneGap (2)
- jquery Mobile (0)
- java面试总结 (5)
- Object-C (0)
- javascript (6)
- Eclipse (5)
- 支付集成 (2)
- Weblogic (1)
- Dubbox (5)
- Redis (10)
- linux (21)
- Codis (2)
- React Native (0)
- Mysql (6)
- Docker (3)
- 自动化部署 (1)
- 项目Bug管理平台 (2)
- 负载均衡 (1)
- Mycat (2)
- Java基础知识 (16)
- 数据库 (7)
- Maven (17)
- Kafka (21)
- logs (2)
- 大并发 (2)
- 消息中间件 (2)
- 分布式锁 (3)
- 算法 (4)
- 数字证书原理,公钥私钥 (0)
- 数字证书原理 (1)
- 公钥私钥 (1)
- zookeeper (4)
- Hbase (9)
- Hadoop (2)
- storm (2)
- 通信协议 (1)
- Hive (3)
- git (1)
- JVM (2)
- 大数据相关算法 (1)
- idea (5)
- 将博客搬至CSDN (1)
- 设计模式 (2)
- 表达式 (1)
- 代码审查工具 (0)
- 开源项目 (1)
- PyCharm (0)
- python (6)
- Kubernetes (1)
- swagger (1)
- Maven中mirrors和repository的关系 (0)
- RabbitMQ (3)
- redisson (1)
- k8s (2)
- Mac (1)
最新评论
-
misisipi101:
假设库已经分为32个,那么要扩展到64个,怎样做呢
订单分库分表实践总结以及关键步骤 -
mfkxk298:
简单明了的例子,解决了问题,谢谢啦!
关于ListView中notifyDataSetChanged()刷新数据不更新原因 -
whbwang:
" target="_blank" ...
java web开发 高并发处理 -
suguoqian:
...
java web开发 高并发处理 -
xiangnanyujing:
Dubbox+Redis3.0+Spring+Hibernate+zookeeper实现消息推送核心搭建
知识点
【
枚举类具有如下特性:
枚举类也是一种特殊形式的Java类。
枚举类中声明的每一个枚举值代表枚举类的一个实例对象。
与java中的普通类一样,在声明枚举类时,也可以声明属性、方法和构造函数,但枚举类的构造函数必须为私有的(这点不难理解)。
枚举类也可以实现接口、或继承抽象类。
JDK5中扩展了swith语句,它除了可以接收int, byte, char, short外,还可以接收一个枚举类型。
若枚举类只有一个枚举值,则可以当作单态设计模式使用。
练习:请编写一个关于星期几的枚举WeekDay,要求:
枚举值:Mon、Tue 、Wed 、Thu 、Fri 、Sat 、Sun
该枚举要有一个方法,调用该方法返回中文格式的星期。
Java中声明的枚举类,均是java.lang.Enum类的孩子,它继承了Enum类的所有方法。常用方法:
name()
ordinal()//返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。
valueof(Class enumClass, String name) //返回带指定名称的指定枚举类型的枚举常量。
//String str=”B”;Grade g=Grade.valueOf(Grade.class,str);
values() 此方法虽然在JDK文档中查找不到,但每个枚举类都具有该方法,它遍历枚举类的所有枚举值非常方便。
】
//如何定义枚举的构造函数、方法、字段
public class Demo1 {
@Test
public void test() {
print(Grade.B);
}
public void print(Grade g) // A B C D E
{
String value=g.getValue();
System.out.println(value);
}
}
/*
* class Grade{ private Grade(){ }
* public static final Grade A=new Grade();
* public static final Grade B=new Grade();
* public static final Grade C=new Grade();
* public static final Grade D=new Grade();
* public static final Grade E=new Grade();
* }
*/
enum Grade {
// class A 100-90 B 89-80 C 79-70 D 69-60 E 59-0
同上面的注释代码 这里是带参数的构造函数,以下就是在实例化对象
A("100-90"), B("89-80"), C("79-70"), D("69-60"), E("59-0");// object
private String value;
//构造函数是私有的
private Grade(String value){
this.value=value;
}
public String getValue(){
return this.value;
}
}
//带抽象方法的枚举
public class Demo1 {
@Test
public void test() {
print(Grade.B); //89-80,良
}
public void print(Grade g) // A B C D E
{
String value=g.getValue();
String value2=g.localeValue();
System.out.println(value+","+value2);
}
}
enum Grade {// class A 100-90优 B 89-80良 C 79-70 一般D 69-60差 E 59-0不及格
//因为在实例化这个对象的时候这个类有抽象方法则必须进行实现
A("100-90"){
public String localeValue(){
return "优";
}
},
B("89-80"){
public String localeValue(){
return "良";
}
},
C("79-70"){
public String localeValue(){
return "一般";
}
},
D("69-60"){
public String localeValue(){
return "差";
}
},
E("59-0"){
public String localeValue(){
return "不及格";
}
};// object
private String value;
private Grade(String value){
this.value=value;
}
public String getValue(){
return this.value;
}
//声明抽象方法
public abstract String localeValue();
}
【
枚举类具有如下特性:
枚举类也是一种特殊形式的Java类。
枚举类中声明的每一个枚举值代表枚举类的一个实例对象。
与java中的普通类一样,在声明枚举类时,也可以声明属性、方法和构造函数,但枚举类的构造函数必须为私有的(这点不难理解)。
枚举类也可以实现接口、或继承抽象类。
JDK5中扩展了swith语句,它除了可以接收int, byte, char, short外,还可以接收一个枚举类型。
若枚举类只有一个枚举值,则可以当作单态设计模式使用。
练习:请编写一个关于星期几的枚举WeekDay,要求:
枚举值:Mon、Tue 、Wed 、Thu 、Fri 、Sat 、Sun
该枚举要有一个方法,调用该方法返回中文格式的星期。
Java中声明的枚举类,均是java.lang.Enum类的孩子,它继承了Enum类的所有方法。常用方法:
name()
ordinal()//返回枚举常量的序数(它在枚举声明中的位置,其中初始常量序数为零)。
valueof(Class enumClass, String name) //返回带指定名称的指定枚举类型的枚举常量。
//String str=”B”;Grade g=Grade.valueOf(Grade.class,str);
values() 此方法虽然在JDK文档中查找不到,但每个枚举类都具有该方法,它遍历枚举类的所有枚举值非常方便。
】
//如何定义枚举的构造函数、方法、字段
public class Demo1 {
@Test
public void test() {
print(Grade.B);
}
public void print(Grade g) // A B C D E
{
String value=g.getValue();
System.out.println(value);
}
}
/*
* class Grade{ private Grade(){ }
* public static final Grade A=new Grade();
* public static final Grade B=new Grade();
* public static final Grade C=new Grade();
* public static final Grade D=new Grade();
* public static final Grade E=new Grade();
* }
*/
enum Grade {
// class A 100-90 B 89-80 C 79-70 D 69-60 E 59-0
同上面的注释代码 这里是带参数的构造函数,以下就是在实例化对象
A("100-90"), B("89-80"), C("79-70"), D("69-60"), E("59-0");// object
private String value;
//构造函数是私有的
private Grade(String value){
this.value=value;
}
public String getValue(){
return this.value;
}
}
//带抽象方法的枚举
public class Demo1 {
@Test
public void test() {
print(Grade.B); //89-80,良
}
public void print(Grade g) // A B C D E
{
String value=g.getValue();
String value2=g.localeValue();
System.out.println(value+","+value2);
}
}
enum Grade {// class A 100-90优 B 89-80良 C 79-70 一般D 69-60差 E 59-0不及格
//因为在实例化这个对象的时候这个类有抽象方法则必须进行实现
A("100-90"){
public String localeValue(){
return "优";
}
},
B("89-80"){
public String localeValue(){
return "良";
}
},
C("79-70"){
public String localeValue(){
return "一般";
}
},
D("69-60"){
public String localeValue(){
return "差";
}
},
E("59-0"){
public String localeValue(){
return "不及格";
}
};// object
private String value;
private Grade(String value){
this.value=value;
}
public String getValue(){
return this.value;
}
//声明抽象方法
public abstract String localeValue();
}
发表评论
-
轻松看懂Java字节码
2018-04-09 10:28 625计算机只认识0和1。这意味着任何语言编写的程序最终都 ... -
happens-before俗解
2018-04-09 10:03 606学习Java并发,到后面总会接触到happens-befor ... -
位与&,位或|,位异或^运算
2018-04-04 17:25 628一.按位与运算符 参加运算的两个数据,按二进制位进行位与 ... -
Java中>>、>>>、<<
2018-04-04 14:47 432定义: 右移动>>:带符号右移。正数右移高位 ... -
在Java中谈尾递归--尾递归和垃圾回收的比较
2017-08-29 17:49 462转载请注明:博客园- ... -
hotspot的垃圾回收策略,设置和调优
2017-01-11 18:48 1904我们都知道JVM内存由几个部分组成: Java栈、程序计数器 ... -
两点距离计算
2016-11-05 18:03 553public class DistanceUtil { pr ... -
protobuf对象序列化问题一
2016-06-15 21:07 2805今天在项目中遇到一个奇葩问题。问题描述:项目基于dubbo服务 ... -
Protostuff对象序列化工具
2016-06-08 09:53 1819VO.java import java.io.Serial ... -
高性能序列化、反序列化protostuff 使用
2016-06-07 16:45 30431、引用jar包: pom.xml: <!-- p ... -
Java调用bat文件和exe文件
2016-01-12 11:09 960public static void main(String ... -
Dubbox+Redis3.0+Spring+Hibernate+zookeeper实现消息推送核心搭建
2015-12-30 15:55 10547这里在开始搭建环境之前请搭建先熟悉了解Dubbox、Red ... -
网站集成ueditor+上传文件到共享盘
2015-12-10 13:47 1960这里给大家分享下载使用ueditor使用心得, ... -
java 实现微信搜索附近人功能
2015-03-25 18:07 4941最近给andorid做后台查询数据功能,有一个需求是模仿微信 ... -
重庆APP开发 重庆Android 重庆Ios 爬虫科技 重庆爬虫科技
2014-10-06 12:03 9<!--[if gte mso 9]><x ... -
JCIFS--java通过域登录实现单点登录
2014-09-04 15:38 4159JCIFS--java通过域登录实现单点登录 ... -
JPA 去除重复列数据
2013-12-30 15:31 11198//清除重复列 Session sessi ... -
使用Eclipse构建Maven的SpringMVC项目
2013-12-12 13:05 992使用Eclipse构建Maven的Spri ... -
Ehcache 整合Spring 使用页面、对象缓存
2013-12-12 13:04 1297Ehcache 整合Spring 使用页面、对象缓存 E ... -
Spring mvc整合hibernate例子
2013-12-11 13:42 1190企业级项目实战(带源码)地址: http://zz563143 ...
相关推荐
标题:“jdk1.5 windows版本 64位” 描述:“jdk1.5 windows版本 64位,Java开发依赖环境” 标签:“windows” 在这个主题中,我们聚焦的是Oracle JDK 1.5(也被称为Java Development Kit,简称JDK)在Windows...
首先,JDK1.5引入了类型安全的枚举(enum),这是对原始的常量类的一个巨大改进。枚举类型使得代码更加清晰,更易于理解和维护,同时避免了因常量值的错误使用而导致的潜在问题。 其次,泛型(Generics)是JDK1.5的...
JDK1.5引入了一些重要的特性,如增强的for循环(foreach)、匿名内部类的改进、枚举类型以及泛型的初步支持。这些特性对Java编程产生了深远影响,提升了代码的可读性和安全性。 然而,由于JDK1.5已不再受官方支持,...
JDK1.5引入了枚举类型,使得枚举更安全、易用。枚举可以拥有方法和字段,还可以实现接口,提高了代码的结构化和可维护性。 三、变量注解(Annotations) 注解是一种元数据,提供了一种方式来将信息附加到代码上,而...
另外,JDK1.5对枚举类型(Enums)进行了重大改进,使得枚举成为一种完整的类型,拥有自己的方法和常量,不再仅仅是简单的字符串常量集合。这种改进提高了枚举的使用灵活性和安全性。 此外,JDK1.5还引入了变长参数...
泛型是JDK1.5最重要的特性之一,它允许在类、接口和方法声明中使用类型参数,以实现数据类型的参数化。泛型提高了代码的类型安全性和可读性,减少了类型转换的需要,并允许编译器检查类型错误。 2. **自动装箱与...
这个压缩包包含了三个不同版本的JDK:JDK 1.5、JDK 1.6和JDK 1.8,其中1.5和1.6是早期版本,而1.8是最流行且广泛使用的版本之一。 **JDK 1.5(也称为Java 5.0)** JDK 1.5在2004年发布,引入了许多重要的新特性,如...
10. **枚举常量的构造函数**:在JDK1.5中,枚举类型的构造函数可以接收参数,允许创建具有不同初始状态或行为的枚举实例。 以上这些特性极大地增强了Java语言的功能和表现力,让Java开发者能够编写出更加安全、可...
这个“JDK1.5中文帮助文档”是官方英文文档的中文译本,为中文用户提供了详细的解释和易于理解的指导,旨在帮助开发者更好地理解和利用JDK 1.5的新功能。** 1. **泛型(Generics)** 泛型是JDK 1.5引入的最显著的...
此外,JDK1.5还引入了枚举类型(enum),这是对原始的常量类模式的改进。枚举类型使得创建固定数量的实例变得更加安全和易于管理,同时提供了更强大的语法支持,如枚举常量之间的比较和遍历。 autoboxing和...
本文将深入探讨Linux下JDK1.5的相关知识点,帮助用户更好地理解和使用这个版本的Java开发环境。 首先,安装JDK1.5在Linux系统中通常涉及以下步骤: 1. **下载**:你需要从Oracle官方网站或者第三方镜像站点下载...
其次,枚举(Enums)在JDK1.5中被引入,它是一种预定义的类,用于创建不可变的、有限的常量集合。枚举类型使得处理一组固定值变得更加方便和安全,避免了使用整数常量或字符串常量可能导致的错误。 autoboxing和...
Java Development Kit(JDK)是Java编程语言的核心组件,它包含了一个Java编译器、Java运行时环境(JRE)、调试工具和其他必要...因此,这个压缩包中的"jdk1.5.exe"可能是开发者为了兼容性或历史项目而寻找的重要资源。
在压缩包"IBMJDK1.5linux.zip"中,主要包含的是IBM JDK 1.5的安装文件和相关文档。安装完成后,开发者可以通过设置环境变量(如JAVA_HOME、PATH)来使用这个JDK。通常,这个JDK会包含Java编译器(javac)、Java解释...
3. 枚举(Enums):JDK 1.5引入了枚举类型,用于表示一组固定的常量,比如颜色、星期等。枚举提供了比常量类更安全、更方便的使用方式。 4. 注解(Annotations):注解是一种元数据,可以提供有关代码的信息,但不...
JDK 1.5引入了枚举类型,使枚举更安全、更易于使用,同时也支持枚举的继承和方法。 其次,自动装箱与拆箱是另一个显著特性。在JDK 1.5之前,开发者需要手动进行基本类型与其对应的包装类之间的转换。从这个版本开始...
本文将深入探讨JDK 1.5 for Linux版本,它对开发者的重要性以及如何在Linux环境下安装和使用。 JDK 1.5,又称为Java SE 5.0,是Java历史上的一个重要里程碑,发布于2004年。这个版本引入了许多创新特性,极大地提升...
JDK1.5,也被称为JDK 5.0,是一个重要的版本,它引入了许多创新特性,显著提升了开发效率和代码质量。这个版本在2004年发布,是Java发展历程中的一个里程碑。 JDK1.5的主要新特性包括: 1. **泛型(Generics)**:...
2. **枚举(Enums)**:JDK1.5添加了枚举类型,用于定义一组固定值的集合,取代了传统的常量类。枚举可以拥有方法、实现接口,提供了更强大的功能和类型安全性。 3. **自动装箱与拆箱(Autoboxing/Unboxing)**:...
本压缩包包含了JDK的两个重要版本:1.5(也称为Java 5)和1.6(Java 6),这两个版本在历史上对Java社区有着深远的影响。 JDK 1.5(2004年发布)是Java发展的一个重要里程碑,引入了许多新特性,极大地提升了开发...