weixin_慕斯4374295
qq_慕婉清0460615
对于TestGeneric类来说,courses是他的一个属性;但是这个属性的类型是List的,就是父接口List的引用指向子类ArrayList的对象;又通过泛型规定了courses里的元素类型必须是Course及其子类的对象。可以这样简单理解:courses是一个数组列表,它的元素必须是Course类及其子类的对象。
奶尤糯米团子
我的理解,声明list时,没有写泛型的,按最先存入的对象类型为准
想要多种对象,声明时要这么写 List <?> coursesToSelect
奶尤糯米团子
慕桂英8009786
创建一个类就代表创建了一种类型。就像是String类型一样,在JAVA源码中它也是用

来创建的。
Plus2333
每个class类下面都不是都需要一个主函数main嘛。。如果没有主函数你怎么运行这个类工程。。课程里很多不同的类,相互关联只是在同一个包下通过public相互调用方法而已。。。并不是主从关系吧。。。应该
七分半烟
代码呢
qq_慕沐4213791
初始化,你可以理解成创建一个火车头,不然没有火车头的话后面的车厢都接不上去
慕娘6193890
foreach的语法直接就错了
ygKan
books(String bookname) 方法中
for(int i =0;i<book.length;i++){
if(book[i].equals(bookname)){
System.out.println("book:"+book[i]);
}else {
throw new Exception();
}
}
你这里遍历了整个数组,所以即便你输入了有的课程,循环依然会执行,那么必然会出现不相等的情况,从而执行 throw new Exception();
bookNum(int BookNum) 方法中
int bookNum =0;
if(bookNum >0 && bookNum<book.length) 没有用形参BookNum,所以你输入什么都会报错
另外,你这异常使用的方式很奇葩!程序有很大的可优化空间。
慕田峪7077931
已经解决了,上一个方法的大括号位置错了
qq_慕用719741
你的 list集合的给定义的是course foreach冒号后面 放的应该是 集合的名称 注意大小写
xdfsx
首先 你要看看你定义的那个 那也东西的 类型是啥 类型不同你强转完了肯定会错
严树洁3117002988
特别简单 你把后面的分号 删除了 放上大括号for(Course cr : course){
System.out.println();
}
qq_Takeiteasy_2
你这又不是泛型,一般都是object类型的
qq_盛小夏_myzCJO
Notepad<String,Integer> np = null; //指定多个泛型类型 可以是多个类型
九王爷
因为只是遍历功能 并没有转化功能 使用泛型就不用强转了
梦云云梦
public void testForEach() {
for(Course cr:courses) {
System.out.println("课程-->" + cr.id + ":" + cr.name);
}
缺了一个大括号}
qq_罗金海丶_03796505
找到问题原因了,构造方法写错了,多了个void,而且构造器名字也写错,需要跟类名保持一致,即
public void testGeneric() {
this.courses = new ArrayList<Course>();
}
改为
public TestGeneric() {
this.courses = new ArrayList<Course>();
}
孤僻成瘾
Java对于静态成员变量的初始化,分解为两步执行。
1. 根据静态成员变量在代码中的先后次序进行声明并赋值为缺省值2. 在静态块内依次为变量进行赋值
qq_Freak_DJNVW3
泛型Course 要大写 如过你Course类的 类名 要是大写的的话
一个亿2333
public List<Course> coursesToSelect;
this.coursesToSelect = new ArrayList<Course>();//题主这句没加泛型,会有警告的
上面两句就规定List集合只能存放Course类型的对象。你添加String类型肯定报错啊
慕神3026817
???
qq_Ridiculous丶_0
第11行是一个构造器,不应该出现void返回值!!!!去掉即可
qq_龙之子_1
public class Course {
public String id;
public String name;
public Course(String id, String name) {
this.id = id ;
this.name = name;
}
public Course() {
}
}
Alex_sun
你说的是Java的API文档吗?百度一下就下载就可以了。
橙子369
类对象 :姓名 年龄 身高
类的对象 : 老王 18岁 188
LDD4
下载JAVA API,在"我的课程","资料下载"界面有
米萌啊
在几节课的开头有一节讲新建课程类与学生类,那里写了课程类的变量有哪些,构造方法是什么
幕布斯6318181