关于以Thinking in Java为课本的Java教与学的方法
在目前的关于java自学的讨论中,最经常看到的就是钻研《Thinking in java》(TIJ)的经验,但是,尽管使用TIJ作为教学材料的教学行为也很多,我却尚未发现有从教师关于如何将TIJ用于教学的论述。为此,我权作抛砖引玉。
首先,为什么要学习java?按照Eckel的话说,因为它是一个具有某种革命性意义的语言,即第一个“以提高开发人员的编程体验为主要目标的编程语言”,它的垃圾回收特性、可扩展性、跨平台特性等都为程序员们所称道,也为Sun公司赢得了声誉。在2002年左右的调查中,发现在北美已经有44%的程序员使用java作为主要编程语言,而且java程序员们的年薪比使用其他编程语言程序员们的年薪高(其实程序设计应被视为一门艺术,不可以用钱来衡量)。直至现在,不论在服务器/客户端(服务器/浏览器)架构的管理信息系统、复杂交互式网站,还是在将会流行的3G移动开发方面,java应用都有很好的前景。
其次,在学生已有基本的C/C++基础的情况下,应当如何教学java?
1、使用经典教材。最笨的方法其实是最聪明的方法,经典教材的学习不能速成,但其实是更快的路(http://blog.youxu.info/2009/08/06/my-undergraduate-year/)。TIJ是面向java培训的教材,在写作上较多考虑到了教学的需要。当然,有些文化上的因素需要适应中国学生,比如18页“An object provides services”一节实际上想用“服务”这个词来引导读者到“协作性”的概念,或许西方思维中确实如此,但在我们的教学中,这样讲反而会令学生产生陌生感。还有一些基础知识介绍的欠缺,比如需要补充详细的实验步骤指导。但是,除了这些缺点以外,这本书在知识点的循序渐进上还是处理得非常恰当的。而且,这本书考虑到了在讲授基本语言特性的过程中培养学生的良好编程习惯,比如它在第二章刚开始讲完第一个程序,就立即介绍文档的重要性以及如何自动生成文档等。把培养良好编程习惯纳为一个教材设计目标,这是很值得称道的。最后,这本书内涵了面向对象设计思想和编程行业的文化,这种表现很多,比如前几章开头的那些文化论述,具体的再如在介绍文档的时候,把文档自动抽取的意义定位为一个支持协作的java基础设施。我所理解的,是这些特性使得这本书成为一本国外声誉斐然,值得为之开发教学设计的英文经典教材。
&
相关文档:
JAVA反射机制
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
Java反射机制主要提供了以下功能: 在运行时判断任意一个对象所属 ......
filter元素和filter-mapping元素
<filter>过滤器元素将一个名字和实现javax.servlet.Filter的接口的类相关联。
1 新建一个类 Encoding Filter
package cn.bupt.duming.util;
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.se ......
如果安装JDK时提示已经安装了JDK(或者安装的版本不是你想要的),删除的方法如下:
# yum -y remove java-1.4.2-gcj-compat
1.安装JDK
首先需要从网上下载JDK安装文件,如果文件的类型是rpm.bin,可以使用下面的命令安装:
# sh jdk-6u2-linux-i586-rpm.bin
如果文 ......
1.
顺序控制
if
else
switch
可以用byte,short,char,int做为表达式类型
循环结构
while
do ...while
for
标签跳转:
outer:
break outer;
outer:
continue outer;
2.数组类型
数组也是一种数据类型,它本身是引用类型。
静态初始化:程序员显示指定初始值,系统决定长度。
动态 ......
package script;
import java.io.File;
import java.io.IOException;
public class Realname {
public static void main(String[] args) throws IOException
{
File oldFile = new File("d:/PMS");
if(!oldFile.exists())
{
oldFile. ......