java枚举
java枚举
为什么要定义枚举?
问题:要定义星期几或性别的变量,该怎么定义?假设用1-7分别表示星期一到星期日,但有人可能会写成int weekday = 0;
枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则,编译器就会报错,枚举可以让编译器在编译时就可以控制程序中填写的非法值,普通变量的方式在开发阶段无法实现这一目标。
用普通类来模拟枚举类型的定义,定义一个Weekday的类来模拟枚举功能。
》私有的构造方法
》每个元素分别用一个公有的静态成员变量来表示
》可以有若干个公有方法或抽象方法。例如要提供nextday的方法必须是抽象方法。采用抽象方法定义nextDay就将大量的if else语句转移成一个个独立的类。
如果想在一个类中编写完各个枚举类和测试调用类,那么可以将枚举定义或调用类的内部类。
public enum Position {
BOSS(6) {
@Override
public Position next() {
return PROGRAMMER;
}
},
PROGRAMMER {
@Override
public Position next() {
return MANAGER;
}
},
MANAGER(){
@Override
public Position next() {
return null;
}
} ;
Position() {}
&nbs
相关文档:
原文请看
http://www.ibm.com/developerworks/cn/websphere/techjournal/0701_botzum/0701_botzum.html
后续我会对下面提到的19点进行一些适当的批注,算是自己的读书笔记
引言
在过去的几乎整整十年中,人们编写了很多有关 Java™ Platform, Enterprise Edition (Java EE) 最佳实践的内容。现在有十多本书籍和数 ......
KeywordFilter.java:
import java.io.InputStream;
import java.util.Enumeration;
import java.util.Properties;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class KeywordFilter
{
private static Pattern pattern = null;
private static KeywordFilter filter = new KeywordF ......
服务器端:
package com.huahua;
import java.io.BufferedOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class ServerThread extends Thread {
......
1 import
2 package
3 修饰符
4 抽象类 接口
5 static
6 String相关
7 javadoc
8 异常
9 日期相关
10 输入输出流
11
一 import
import用于导入不同包中的类,不同包中的类名可以相同。
用*号只能导入一个包,不能使用 import java.* 或者 java.*. ......
在9.10中可以在终端中使用apt-get命令进行安装。这种方法比较简单。不过个人认为 对于初学者,还是手动安装比较好,可以熟悉很多东西。
1.下载jdk和jre
登录sun网站http://java.sun.com/javase/downloads/index.jsp,下载jdk-6u18-linux-i586.bin和jre-6u18-linux-i586.bin。注意在官网中
有两个下载地址,一个是jdk-6u1 ......