实训--day01枚举,泛型
来源:互联网 发布:动态规划算法基本要素 编辑:程序博客网 时间:2024/06/06 01:11
实训第一天记录:枚举,泛型。
暑假实训第一天:上午枚举,下午泛型。
1:枚举:实例对象固定而且有限的对象可以成为枚举类,用关键字enum。
今天一天课上下来,觉得枚举跟一般的类对象差不多,只是枚举对象的类型是enum类型,一般类对象的类型是class对象。所以在获取枚举对象的形势上有所不同。
class对象获得对象可以通过new的形势,而enum对象的获取有两个方法:第一个是 枚举.variable获取对象,这个方法返回的是单个枚举对象;第二个方法是 枚举.values。这 个方法可以获取所有的枚举对象,返回的是一个枚举类型的数组,如果要获得每个枚举对象,就使用高级for循环来获取。
获取到枚举对象之后,对对象的操作方式就和一般Java类差不多了。可以像一般的Java类一样,设置属性,进行数据的逻辑处理。只是在枚举类中不能有main方法。
放一个课堂上的联系:输入相应的数字,输出对应的星期数。这里我没有用switch case语句(jdk几以后可以使用String类型的变量,具体不清楚,百度答案感觉不准确),而是直接给每个星期一个id,如果输入的id和星期的id相同,则输出星期。
枚举类:
测试运行类:
2:泛型:即参数化类型,是jdk1.5以后出现的新特性,增加了程序的安全性。
举个栗子:在没有使用泛型之前,集合可以存放各种类型的参数,加入一个集合存放了不同类型的参数,使用集合的时候要想不报错,只有靠程序员的直觉,因为这个错误在编译时是不会报错的,只会在运行时抛出运行时异常;ClassCastException等。但是加入泛型之后,就强制规定每个集合只能装那个类型的参数,就不会出现类型转换异常了。
泛型的定义一般有三种:定义在类上,定义在方法上,定义在接口上。
定义在类上,for example:
泛型类:在定义的类上限定了,类中的方法只能接受类上面定义类型的参数
定义在方法上:借用上课的一道题,输入不同类型的数据,也能进行相加,但是输入的数据只能是int、long、float、double类型。自己写的时候纠结很久没想出来,也是参考了网上一篇博客的。博客地址:http://blog.csdn.net/justdb/article/details/7470690。
补充一个基本数据类型转换的顺序:byte,short,char-->int-->long-->float-->double,即为了不损失精度,都是由小精度向大的精度进行转换。
其实我想写成,不论是输入什么类型的两个数,可以是不同类型的两个数,都可以进行相加,但是我找了一下scanner的方法,好像每个键盘录入都是带类型的,所以最后也没有写出来。如果两两结合输入再判断,感觉代码很烦,我又没想到优化的方式,就没有写。
最后一个,定义在接口上:定义在接口上的泛型一般都是API中定义的,这个只要看到的时候知道就好。
阅读全文
0 0
- 实训--day01枚举,泛型
- Hwadee实训--day01
- day01
- day01
- DAY01
- DAY01
- day01
- Day01
- day01
- day01
- day01
- day01
- day01
- day01
- day01
- day01
- day01
- day01
- 基于linux2.6.31.14内核自己写虚拟摄像头驱动myvivi.c
- 【C语言】函数
- nohup-真正的Shell后台运行
- Android:写一个专注的编译时注解框架——ContentViewAnnotation
- 计算机组成原理与机构期末复习的概念
- 实训--day01枚举,泛型
- 使用storyboard的segue控制界面跳转
- B1001.害死人不偿命的 (3n+1) 猜想(15)
- Java高编 、 网络(tcp与udp)
- Android 一个人的武林
- 常见的路由算法及收敛路由原理
- oracle约束
- 该嘎嘎嘎嘎嘎嘎嘎嘎嘎嘎嘎嘎嘎嘎嘎嘎嘎嘎嘎嘎嘎嘎嘎嘎嘎嘎嘎
- Scikit中使用Grid_Search来获取模型的最佳参数