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)
//有兴趣的可以思考下原因?其实此问题实在是简单···
分享到:
相关推荐
4. `EnumWindow.dsp`:这是Visual Studio的老式项目文件,用于存储项目的构建设置。 5. `EnumWindow.exe`:这是编译后的可执行文件,运行这个程序可以在Windows环境下执行枚举窗口的功能。 6. `EnumWindow.rc` 和 ...
ZXUR.txt可能包含程序的使用说明、作者信息或其他相关文档,比如源代码的说明或者联系方式。如果你对程序的内部工作原理感兴趣,可以通过邮件联系作者获取源码,这通常能提供更深入的理解。 总的来说,这个资源对于...
6. **数组**:使用`[]`创建数组,数组方法包括`push`(添加元素到末尾)、`pop`(移除并返回末尾元素)、`shift`(移除并返回首元素)、`unshift`(添加元素到开头)、`slice`(提取子数组)、`splice`(插入/删除...
3. **设备检查**:`EnumSerial`可能还包括检查每个串口是否正被其他进程使用,或者获取设备的物理路径,这对于诊断和调试很有帮助。 4. **返回结果**:枚举完成后,函数将返回一个包含所有发现串口设备的信息列表,...
JavaScript是一种广泛应用于网页和网络应用的脚本语言,它的强大在于能够...在使用这些方法时,请确保进行充分的测试和验证,以确保代码的正确性和兼容性。希望这个集合能对你的JavaScript学习之路提供有价值的参考。
这些状态可以通过定义枚举类型并使用条件判断来管理。 7. **事件处理**: 除了键盘事件,游戏可能还需要处理其他事件,如开始新游戏、显示得分等。这些可以通过事件监听器和回调函数来实现。 8. **源码组织**: ...
虽然在现代计算环境中已不常见,但某些工业应用或老旧设备可能仍然使用LPT口。C#可以通过读写LPT端口的内存映射来发送打印数据。 #### 驱动打印 驱动打印是指通过调用打印机驱动程序来完成打印任务的方式。C#中,...
4. **【强制】** 方法名、参数名、成员变量、局部变量统一使用`lowerCamelCase`风格,即首字母小写,后续每个单词首字母大写的形式。例如:`localValue`, `getHttpMessage()`, `inputUserId`。 5. **【强制】** ...
然后,开发者会构建游戏模型,这通常涉及数据结构的设计,如使用ArrayList或LinkedList存储牌组,用枚举类型表示牌的类型和值。接下来是AI的设计,AI的智能程度直接影响游戏体验。初级AI可能采用预设的出牌策略,而...
要让声音从耳机而不是主板喇叭传出,你需要使用音频库或API,因为主板喇叭的声音通常只适用于老式计算机。在现代系统上,你可以使用如Windows的waveOutWrite函数、Linux的ALSA或PulseAudio库、Mac OS的Core Audio等...
本文将深入探讨`javax.comm`库的使用方法以及如何通过它来读取串口。 首先,`javax.comm`库是Sun Microsystems为Java设计的一个API,主要用于串行通信。它提供了`CommPortIdentifier`、`SerialPort`和`ParallelPort...
由于RS232串口在现代计算机中逐渐被淘汰,因此,开发者常常需要找到方法来桥接这两种通信标准,使老式串口设备能在现代环境中继续工作。 在VB中实现RS232到USB的转换涉及到以下几个关键知识点: 1. **VB串口通信**...
1. **Windows API 调用**:在"EnumNtSrv_demo"中,开发者使用了Windows API来查询和枚举运行在操作系统上的NT服务。关键的API函数可能包括`EnumServicesStatusEx`,它允许程序遍历所有服务状态信息,如服务名称、...
下面我们逐一了解这些工具的功能和使用方法。 1. netview: netview 是一个老式的命令行工具,通常用于查看网络上的共享资源。在内网渗透中,它可以用来扫描网络上的活动主机,发现在线的域控制器,从而帮助定位...
9. **kp.dsp/kp.dsw**:这些都是VC的老式项目文件,用于存储项目的配置信息,如编译选项、库依赖等。在较新的版本中,通常使用.sln和.vcxproj文件代替。 10. **PSAPI.H**:这是psapi库的头文件,包含定义的函数原型...
- LIBUSB库的使用:理解LIBUSB的API,如设备枚举、I/O操作、同步/异步传输等。 - USB摄像头的硬件交互:识别设备,发送控制命令,接收图像数据。 - 可能的跨平台实现:考虑到Windows平台的代码(`cameras-win32.c`)...
设备初始化后,我们可以通过调用`IDirectInputDevice8::Acquire`方法来获取设备的控制权,然后使用`IDirectInputDevice8::GetDeviceState`或`IDirectInputDevice8::Poll`来定期查询方向盘的当前状态,包括角度、按钮...
- 串口参数配置:使用SerialPort的setSerialPortParams()方法设置串口参数。 - 串口的读写:通过SerialPort的getInputStream()和getOutputStream()获取输入输出流,进而进行数据的读写操作。 3. 串口通信的通用模式...
- **基础类概念**:定义类,创建对象,并使用属性和方法。 - **继承**:一个类可以继承另一个类的属性和方法,实现代码重用。 - **is和as关键字**:用于类型检查和类型转换,确保对象操作的正确性。 现代对象式...