貌似进度有点慢,一到周四就开始觉得有点累,到了周五就完全没心情学习...要严格约束自己!!!!!!
P297
与HashSet集合采用hash算法来决定元素的存储位置不同,TreeSet采用红黑树的数据结构来存储集合元素, hash算法与红黑树之间的区别,红黑树是什么??TreeSet进行排序的规则是怎样的??
P301
在定制排序中,如果需要实现定制排序,则需要在创建TreeSet集合对象时,提供一个Comparator对象与该TreeSet联合关联,Comparator与Comparable是什么关系?
return m1.age > m2.age ? -1 : m1.age < m2.age ? 1 : 0;
P312
对于LinkedList集合,应该采用迭代器(Iterator)来遍历集合元素。。两天没看又忘记迭代器是什么了?
P334
泛型??java泛型还增强了枚举型、反射等方面的功能,反射是什么??
P335
程序在3处不需要进行强制类型转换,因为strList对象可以"记住“它的所有集合元素都是String类型。。。难道不是<String>泛型的时候就需要强制类型转换??
P337
public Apple(){} 与public Apple(){};有什么区别??
泛型的作用??
P338
public Object getInfo()方法是错误的,重写父类方法时返回值类型不一致,,子类重写父类的方法时不可以更改返回值类型吗??
P339
为什么创建的List<String> List<Integer>类对象调用.getClass的时候是返回true??getClass又是什么??
不管为泛型的类型形参传入哪一类型实参,对于java来说,它们依然被当成同一个类处理,在内存中也占用一块内存空间,因此在静态方法、静态初始化块或者静态变量的声明和初始化中不允许使用类型形参。。为什么??
当使用一个泛型类(包括声明变量和创建对象两种情况),都应该为这个泛型类传入一个类型实参??为什么需要传入一个类型实参?
问题是上面程序中List是一个有泛型声明的接口,此处使用List接口时没有传入实际类型参数,这将引起泛型警告,为什么上面程序中List是一个有泛型声明的接口??
P340
Number[]变量是什么??为什么程序可以直接把一个Interger[]数组赋给一个Number[]变量??既然会出错会什么还允许呢?
类型通配符是什么??
忘记抽象类有什么作用了??
P341
感觉List<?>中的?就是Object类??但是程序不能把元素加入到其中。。因为集合中元素的类型不确定?但是在get()方法来返回的时候,其返回值是一个未知类型,但可以肯定的是,它总是一个Object?为什么返回的时候说它是Object但是加入的时候又说不确定??
P344
为什么定义泛型方法的时候T也没有指定,就可以使用add呢??
P347
上面两个方法中类型形参T只使用了一次,类型形参T产生的唯一效果是可以在不同的调用点传入不同的实际类型,为什么T只使用了一次??对于这种情况,应该使用通配符,为什么要使用通配符??
泛型方法允许类型形参被用来表示方法的一个或多个参数之间的类型依赖关系,或者方法返回值与参数之间的类型依赖关系。。如何判断是否有依赖关系??
P353
java泛型有一个很重要的设计原则,如果一段代码在编译时没有提出”[unchecked]“未经检查的转换警告,则程序在运行时不会引发ClassCastException,正是基于这个原因,所以数组元素的类型不能包含类型变量或类型形参,除非是无上限的类型通配符。。为什么??无上限的类型通配符是什么??但可以声明元素类型包含类型变量或类型形参的数组,为什么元素类型就可以??也就是说,只能声明,List<String>[] 形式的数组,但不可以申明ArrayList<String>[10]这样的数组对象,,为什么??
看不懂泛型与数组中错误,为什么353到354之间的程序都有问题,,觉得不能理解??
-------------------------------------------第 十章---------------------------------------------
P357
java异常机制try、catch、finally、throw、throws都是代表什么?有什么区别??
捕获多种类型的异常时,异常变量使用隐式的final修饰,因此上面程序中1号代码将产生编译错误,为什么异常变量使用隐式的final修饰??
P365
为什么在catch中执行了return语句还会执行finally块里的代码??
除非在try块、catch块中调用了退出虚拟机的方法,为什么程序执行跟虚拟机又扯上关系了??为什么在异常处理代码中使用System.exit语句来退出虚拟机的时候finally块将失去执行的机会??
P368
如果main方法也不知道如何处理这种类型的异常,也可以使用throws声明抛出异常,该异常将交给JVM处理,JVM是什么?有何作用??
感觉这个throws申明抛出就是在遇到异常的时候什么也不做,那直接不要异常处理不就行了??
Checked异常与Runtime异常有什么区别??不是说Checked异常不进行处理吗?为什么又说如果某段代码中调用了一个带throws声明的方法,该方法声明抛出了Checked异常,到底什么是Checked异常,什么是Runtime异常?
如果在方法中显式声明抛出Checked异常,将会导致方法签名与异常耦合,为什么??
在大部分时候推荐使用Runtime异常,而不使用Checked异常,,这两个异常是什么??
当使用Runtime异常时,程序无须在方法中声明抛出Checked异常,一旦发生了自定义错误,程序只管抛出Runtime异常即可。。为什么??
P374
为什么在定义方法时还需要抛出Runtime异常,例如public calSal() throws SalException??
------------------------------------------------------------第十一章--------------------------------------------------------------------
P382
什么是AWT?什么是Swing??两者有什么区别?有什么作用?
事件处理是handler什么的??
为什么使用AWT编写图形界面应用时,程序仅指定了界面组件的位置和行为,并未提供真正的实现,JVM调用操作系统本地的图形界面来创建和平台一致的对等体??而且AWT编写图形界面应用中如何指定界面组件的位置和行为,界面组件的位置和行为时如何体现的?特别是组件的行为?
感觉不是可以用html,xml什么的直接写界面吗?为什么还需要AWT,Swing??
Panel有什么作用??为什么说可作为容器容纳其他组件,但不能独立存在,必须被添加到其他容器中。。为什么说可作为容器容纳其他组件,,又说必须添加到其他容器中?而且必须被添加到(window,panel,applet中)??
为什么还需要使用代码来添加文本TextField,Button等而不直接使用什么界面方式直接拖动文本框、按钮等到窗口中呢??