
import javautilArrayList;
import javautilList;
public class Color{
private String value;
private static List<Color> colors = new ArrayList<Color>();
public Color(String value) {
thisvalue = value;
colorsadd(this);
}
public static Color Red = new Color("red");
public static Color Blud = new Color("Blud");
public static Color Green = new Color("Green");
public void test(){
Systemoutprintln("我是"+value);
}
public static Color[] values(){
return colorstoArray(new Color[colorssize()]);
}
public static void main(String[] args) {
ColorRedtest();
ColorGreentest();
ColorBblacktest();
for (Color c : ColorBvalues()) {
ctest();
}
}
}
/
子类
@author 储宝
/
class ColorB extends Color{
public ColorB(String value) {
super(value);
}
public static ColorB black = new ColorB("black");
}
枚举的伪实现。和枚举不同的是,还是可以new一个对象,本来是想把构造私有化的,但是就不能继承了。
获取当前线程的ClassLoader,通过ClassLoader获取当前工作目录,对目录下的文件进行遍历扫描。过滤出以class为后缀的类文件,并加载类到list中,对list中所有类进行校验,判断是否为指定接口的实现类,并排除自身。返回所有符合条件的类。
这个方没有考虑不同的文件格式。当程序打成jar包,发布运行时,上述的这种遍历file的 *** 作就失效了。只能扫描到当前方法的同级目录及其子目录。无法覆盖整个模块,遍历文件的逻辑太啰嗦,可以简化。
扩展资料:
Java使用注意事项:
1、如果没有定义环境变量classpath,java启动jvm后,会在当前目录下查找要运行的类文件。
2、如果指定了classpath,那么会在指定的目录下查找要运行的类文件。
3、PATH环境变量。作用是指定命令搜索路径,在命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。
4、需要把jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好PATH变量后,就可以在任何目录下执行javac/java等工具了。
1 枚举的定义 :一个特殊的java类,对象的某个属性的值不能是任意的,必须为固定的一组取值其中的某一个
接口的定义:定义对象的扩展功能,是在继承之外还需这个对象具备的一些功能
2 上面的定义中说明了枚举是一个特俗的java类,既然是一个java类,那么就可以继承接口。
3 下面的用java代码来展示枚举继承接口的方式 :
//定义一个枚举:
public enum Suit { CLUBS, DIAMONDS, HEARTS, SPADES }
public interfacel SuitImp{}//接口
//枚举实现接口的代码
public enum Suit implements SuitImp()
以上就是关于java 可以 继承的枚举 怎么写全部的内容,包括:java 可以 继承的枚举 怎么写、Java 怎么通过反射获取并实现这个类里面的接口,并且实现接口中的方法、枚举能继承类或接口吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)