Java之枚举
2013-04-24 22:58
225 查看
package com.anby;
public class mode {
public enum student{
man,woman;
}
public enum student1{
man("男"),woman("女");
//枚举中不能直接定义成员,必须要首先定义枚举常量才能生命枚举中的成员
//也就是说,枚举相当于多例模式,只是简化了书写
//枚举常量 默认 被static finaly修饰
private String value;
private student1(String str)
{
this.value=str;
}
}
/**
* @param args
*/
public static void main(String[] args) {
Person man=Person.man;
Person woman=Person.woman;
Person woman2=Person.woman;
System.out.println(man);
System.out.println(woman);
System.out.println(woman2); //此时打印的woman=woman2
//这里有点绕。。
//调用的是子类的方法
System.out.println(man.getAge());
System.out.println(woman.getAge());
}
}
abstract class Person
{
//私有化构造函数,通过内部成员进行初始化--传男 初始化男人,传女 初始化女人
//此时,对男女的年龄进行设置(通过内部类),在本类中提供一个抽象方法,用于外部访问该属性
//通过内部类,对年龄进行设置,外层类的抽象方法只是为了让本类型的实例进行访问
public static Person man=new Person("男"){ //这里也说明了,抽象类的内部类,可以对外部抽象类调用构造函数
public int getAge()
{
return 20;
}
};
public static Person woman=new Person("女"){
public int getAge()
{
return 22;
}
};
private String value;
private Person(String value)
{
this.value=value;
}
public abstract int getAge(); //该抽象方法只是为了让实例调用该内部类中实现的方法
}
public class mode {
public enum student{
man,woman;
}
public enum student1{
man("男"),woman("女");
//枚举中不能直接定义成员,必须要首先定义枚举常量才能生命枚举中的成员
//也就是说,枚举相当于多例模式,只是简化了书写
//枚举常量 默认 被static finaly修饰
private String value;
private student1(String str)
{
this.value=str;
}
}
/**
* @param args
*/
public static void main(String[] args) {
Person man=Person.man;
Person woman=Person.woman;
Person woman2=Person.woman;
System.out.println(man);
System.out.println(woman);
System.out.println(woman2); //此时打印的woman=woman2
//这里有点绕。。
//调用的是子类的方法
System.out.println(man.getAge());
System.out.println(woman.getAge());
}
}
abstract class Person
{
//私有化构造函数,通过内部成员进行初始化--传男 初始化男人,传女 初始化女人
//此时,对男女的年龄进行设置(通过内部类),在本类中提供一个抽象方法,用于外部访问该属性
//通过内部类,对年龄进行设置,外层类的抽象方法只是为了让本类型的实例进行访问
public static Person man=new Person("男"){ //这里也说明了,抽象类的内部类,可以对外部抽象类调用构造函数
public int getAge()
{
return 20;
}
};
public static Person woman=new Person("女"){
public int getAge()
{
return 22;
}
};
private String value;
private Person(String value)
{
this.value=value;
}
public abstract int getAge(); //该抽象方法只是为了让实例调用该内部类中实现的方法
}
相关文章推荐
- JAVA枚举的一道简单的笔试题
- java enum(枚举)使用详解 + 总结
- Java高新技术2--JAVA中枚举的各种应用以及单例模式
- Java中的枚举和泛型复习
- java枚举用法
- 详细介绍java中的枚举类型
- Java中如何由枚举常量的ordinal值获得枚举常量对象
- Java中枚举的梗
- Java基础---枚举
- java基础之枚举
- java枚举
- Java 枚举(enum) 详解7种常见的用法
- Java之利用FreeMarker引擎实现枚举和脚本自动生成
- Touch_Java 7:数组和枚举
- Java基础 - 类的加载,类加载器,反射,动态代理,模板设计模式,JDK5新特性,枚举(类),JDK1.7新特性
- java enum(枚举)理解
- Java中的枚举enum
- Java枚举7常见种用法
- java Enum 枚举
- Java中的枚举――EnumMap与EnumSet