che*_*hta 14 java oop enumeration interface
enum数据类型和Enumeration接口之间是否有任何区别.我在两者之间感到困惑.
我得到了他的答案,他们没有关系,但这带来了另一个问题.
我们无法实例化接口.那么这条线的意义何在?
Enumeration days = dayNames.elements();
Run Code Online (Sandbox Code Playgroud)
下面是包含该行的完整代码
import java.util.Vector;
import java.util.Enumeration;
public class EnumerationTester {
public static void main(String args[]) {
Enumeration days;
Vector dayNames = new Vector();
dayNames.add("Sunday");
dayNames.add("Monday");
dayNames.add("Tuesday");
dayNames.add("Wednesday");
dayNames.add("Thursday");
dayNames.add("Friday");
dayNames.add("Saturday");
days = dayNames.elements();
while (days.hasMoreElements()){
System.out.println(days.nextElement());
}
}
}
Run Code Online (Sandbox Code Playgroud)
Sag*_*age 21
枚举是一个接口:实现接口的对象Enumeration生成一系列元素,一次一个.对该nextElement方法的连续调用返回该系列的连续元素.
例如,要打印a的所有元素Vector<E> v:
for (Enumeration<E> e = v.elements(); e.hasMoreElements();)
System.out.println(e.nextElement());
Run Code Online (Sandbox Code Playgroud)
枚举是一种数据类型:枚举类型是一种特殊的数据类型,它使变量成为一组预定义的常量.变量必须等于为其预定义的值之一.
例如,您可以将星期几enum类型指定为:
public enum Day {
SUNDAY, MONDAY, TUESDAY, WEDNESDAY,
THURSDAY, FRIDAY, SATURDAY
}
public static void main(String[] args)
{
System.out.ptintln(Day.SUNDAY); // print SUNDAY
}
Run Code Online (Sandbox Code Playgroud)
你的第二个问题:
我们无法实例化接口.那么这条线的意义何在?
Enumeration days = dayNames.elements();
Run Code Online (Sandbox Code Playgroud)
dayNames是一个Vector,像一个集合List.(存在差异,但这超出了问题的范围.).但是,当daynames.elements()调用它时,它返回vector的组件的枚举daynames.返回的Enumeration对象将生成添加到此向量的所有项.生成的第一个项目是项目index 0,然后是项目index 1,等等.
| 归档时间: |
|
| 查看次数: |
24137 次 |
| 最近记录: |