`

老式枚举的使用方法

    博客分类:
  • java
阅读更多
import java.util.Enumeration;
import java.util.Vector;

class Cat2{
	private int catNumber;
	Cat2(int i){
		catNumber = i;
	}
	void print(){
		System.out.println("Cat number " + catNumber);
	}
}
class Dog2{
	private int dogNumber;
	Dog2(int i){
		dogNumber = i;
	}
	void print(){
		System.out.println("Dog number " + dogNumber);
	}
}
public class EnumerationTest {
	@SuppressWarnings("unchecked")
	public static void  main(String args[]){
		@SuppressWarnings("rawtypes")
		Vector cats = new Vector();     //集合是使用
		for(int i=0;i<7;i++){
			cats.addElement(new Cat2(i));  //添加元素的方法
		}
		cats.addElement(new Dog2(7));
		@SuppressWarnings("rawtypes")
		Enumeration e = cats.elements();   //枚举的前提
		while(e.hasMoreElements()){      //枚举元素是判断
			((Cat2)e.nextElement()).print();  //获得元素的方法
		}
	}
}

//运行时会有异常发生:
//Exception in thread "main" java.lang.ClassCastException: 
//Dog2 cannot be cast to Cat2
//at EnumerationTest.main(EnumerationTest.java:36)
//有兴趣的可以思考下原因?其实此问题实在是简单···



分享到:
评论

相关推荐

    Visual C++ 2005入门经典.part08.rar (整理并添加所有书签)

    2.6.4 老式的类型强制转换 2.6.5 按位运算符 2.7 了解存储时间和作用域 2.7.1 自动变量 2.7.2 决定变量声明的位置 2.7.3 全局娈量 2.7.4 静态变量 2.8 命名空间 2.8.1 声明命名空间 2.8.2 多个命名空间 2.9 C++/CLI...

    Visual C++ 2005入门经典.part04.rar (整理并添加所有书签)

    2.6.4 老式的类型强制转换 2.6.5 按位运算符 2.7 了解存储时间和作用域 2.7.1 自动变量 2.7.2 决定变量声明的位置 2.7.3 全局娈量 2.7.4 静态变量 2.8 命名空间 2.8.1 声明命名空间 2.8.2 多个命名空间 2.9 C++/CLI...

    Visual C++ 2005入门经典.part07.rar (整理并添加所有书签)

    2.6.4 老式的类型强制转换 2.6.5 按位运算符 2.7 了解存储时间和作用域 2.7.1 自动变量 2.7.2 决定变量声明的位置 2.7.3 全局娈量 2.7.4 静态变量 2.8 命名空间 2.8.1 声明命名空间 2.8.2 多个命名空间 2.9 C++/CLI...

    Visual C++ 2005入门经典.part09.rar (整理并添加所有书签)

    2.6.4 老式的类型强制转换 2.6.5 按位运算符 2.7 了解存储时间和作用域 2.7.1 自动变量 2.7.2 决定变量声明的位置 2.7.3 全局娈量 2.7.4 静态变量 2.8 命名空间 2.8.1 声明命名空间 2.8.2 多个命名空间 2.9 C++/CLI...

    Visual C++ 2005入门经典.part06.rar (整理并添加所有书签)

    2.6.4 老式的类型强制转换 2.6.5 按位运算符 2.7 了解存储时间和作用域 2.7.1 自动变量 2.7.2 决定变量声明的位置 2.7.3 全局娈量 2.7.4 静态变量 2.8 命名空间 2.8.1 声明命名空间 2.8.2 多个命名空间 2.9 C++/CLI...

    Visual C++ 2005入门经典.part05.rar (整理并添加所有书签)

    2.6.4 老式的类型强制转换 2.6.5 按位运算符 2.7 了解存储时间和作用域 2.7.1 自动变量 2.7.2 决定变量声明的位置 2.7.3 全局娈量 2.7.4 静态变量 2.8 命名空间 2.8.1 声明命名空间 2.8.2 多个命名空间 2.9 C++/CLI...

    Visual C++ 2005入门经典--源代码及课后练习答案

    本书延续了Ivor Horton讲解编程语言的独特方法,从中读者可以学习Visual C++ 2005的基础知识,并全面掌握在MFC和Windows Forms中访问数据源的技术。此外,本书各章后面的习题将有助于读者温故而知新,并尽快成为C++...

    Visual C++ 2010入门经典(第5版)--源代码及课后练习答案

    2.6.3 老式的类型强制转换 66 2.7 AUTO关键字 66 2.8 查看类型 67 2.9 按位运算符 67 2.9.1 按位AND运算符 68 2.9.2 按位OR运算符 69 2.9.3 按位EOR运算符 71 2.9.4 按位NOT运算符 71 2.9.5 移位运算符 71 ...

    visualC++2010入门经典源代码

    2.6.3 老式的类型强制转换 66 2.7 auto关键字 66 2.8 查看类型 67 2.9 按位运算符 67 2.9.1 按位and运算符 68 2.9.2 按位or运算符 69 2.9.3 按位eor运算符 71 2.9.4 按位not运算符 71 2.9.5 移位运算符 71 ...

    [Visual.C++.2010入门经典(第5版)].Ivor.Horton.part1

    2.6.3 老式的类型强制转换 66 2.7 auto关键字 66 2.8 查看类型 67 2.9 按位运算符 67 2.9.1 按位and运算符 68 2.9.2 按位or运算符 69 2.9.3 按位eor运算符 71 2.9.4 按位not运算符 71 2.9.5 移位运算符 71 2.10 ...

Global site tag (gtag.js) - Google Analytics