牛客网错题合集详解
- 枚举
- what is the result of the following code? ---------2017-08-15
1 enum AccountType
2 {
3 SAVING, FIXED, CURRENT;
4 private AccountType()
5 {
6 System.out.println(“It is a account type”);
7 }
8 }
9 class EnumOne
10 {
11 public static void main(String[]args)
12 {
13 System.out.println(AccountType.FIXED);
14 }
15 }
输出结果:
Compiles fine and output is prints”It is a account type”thrice followed by”FIXED”
枚举类在后台实现时,实际上是转化为一个继承了java.lang.Enum类的实体类,原先的枚举类型变成对应的实体类型,上例中AccountType变成了个class AccountType,并且会生成一个新的构造函数,若原来有构造函数,则在此基础上添加两个参数,生成新的构造函数。
枚举类型的每一个值都将映射到 protected Enum(String name, int ordinal)
构造函数中,在这里,每个值的名称都被转换成一个字符串,并且序数设置表示了此设置被创建的顺序。可以把 enum 看成是一个普通的 class,它们都可以定义一些属性和方法,不同之处是:enum 不能使用 extends 关键字继承其他类,因为 enum 已经继承了 java.lang.Enum(java是单一继承)。
- Struts框架
- 在Struts框架中如果要使用Validation作验证的话,需要使用以下哪个Form?----2017-08-15
DynaValidatorActionForm(动态验证表单)