您的位置:首页精文荟萃软件资讯 → Java学习过程的一些重点教程

Java学习过程的一些重点教程

时间:2004/10/7 18:26:00来源:本站整理作者:蓝点我要评论(0)

我从一年半前开始学习Java至今,从开始学习Java的时候,我开始跑到java版去看,从一开始的看别人的问题,慢慢到了后来的回答别人的问题,一年下来在学习方面真的感触良多
 

  现总结了一些Java学习过程中个人认为的重点,拿出来分享,也希望可以帮助后来者少走弯路,将有限精力集中起来,赶紧走入Java的大门


 

  从开始学没多久我就开始使用Thinking in Java 2nd,个人还是比较喜欢这本书的,虽然到现在还未看完 ^_^
  当然因为各人的学习方法各不一样,也有人喜欢看Core Java或者Java How to Program,这些都是好书,选择一本适合自己的看就是了 ^_^
  主要说说Java的几大块吧,无法说得很细,因为其实每一块拿出来都能说很多,我就说一下这几块学习的时候的重点或者应该注意的东西


 

数值类型:
  虽然是面向对象的语言,但是在使用上数值类型还是必不可少的,如果在C的学习中已经掌握了C的数值计算和转换规则,那我想这里应该没有什么问题,只有两点需要注意:1、14.0这样的浮点常量被认为是double型,只有加上f后缀才是float型的;2、整数常量说起来被认为是int型,但是在编译时,可以认为编译器将其看作能表示该数的最小数值,因此byte b = 100;不会报错


 

引用类型:
  我也是从C/C++转过来的,其实所谓引用类型在C++中已有体现,就是传参的时候有一种引用类型,从C来考虑,它就是一个指针,只不过,我们不能对它进行指针上的硬操作。所以这里的重点是:1、Java里所有的对象都是在堆中生成的,所以需要类似指针的东西指向它,那就是引用;2、我们通过引用操作的是引用所指向的对象,除了赋值操作外,应该就没有什么操作是针对引用本身的了,这一点是C的指针与Java的引用区别所在。


 

类和对象:
  这是一个大块,有很多东西,不展开讲了,就说几个重点:1、类方法、类属性与成员方法、成员属性在加载、初始化、使用上的异同;2、在构造函数中,this()和super()的用法;3、子类的加载过程、初始化过程和构造过程;4、方法的重载和覆写;5、覆写所引出的多态问题(注意:多态之应用在方法上,对属性没有作用)


 

函数调用的参数传递:
  如果把引用类型所记录的地址值,就看作是引用类型变量的值的话,那么,Java的所有方法调用的时候,都是采用的值传递——数值类型传数值,引用类型传地址。


 

IO流:
  与C比起来,Java的输入输出,尤其是输入是非常麻烦的,也许是因为出于面向对象的考虑吧?不知道。Java提供了很多的IO流,但是我们并不必将各种IO都搞清楚,我们只需要了解字节流与字符流各有什么功能,字符流是如何在字节流之上构造的,几乎所有的字符流构造的时候都是建立在一个已有的字节流的基础上的,并且它的这种设计使得我们可以像套管子一样,将IO流一节一节套起来,直到得到我们想使用的IO对象(例:BufferedReader的使用)。在我们以后使用的时候,我们可以再去查API,我觉得主要要看的几个类是:FileReader、FileWriter、BufferedReader,再配合上System.out对象,对于文本的输入、输出来说,就足够用了,至于其他的,我觉得不考试的话,没有必要看那么多,用的时候再看了(我使用Java一年半来,基本上就在使用BufferedReader和System.out)


 

容器:
  个人认为,这是Java编程的一大利器,我最爱用的类是:ArrayList(List)作为可变长数组、HashMap(Map)用来建立查找表,Set我很少用,只在HashMap的使用中连带用过一些。通过对这两个类的熟悉,能够将List、Set和Map三大类的基本用法掌握。另外它的几个辅助类要掌握:Iterator和Collections。Collections类提供容器的一些通用工具,比如排序。而说到排序,就牵扯出了比较器:Comparator。能够熟练使用Comparator类,可以让你为自己的需求和自己的类定制排序方案。


 

AWT和SWING:
  个人认为,Java在图形界面的制作上有着非常好的封装性,我以前曾经试图学过MFC,MFC在生成图形界面的时候会帮助你生成一些代码,然后让你在这些代码的指定位置添加代码以实现功能,我这个人有个习惯,如果让我看到了一些东西,那么我不搞清除为什么这么写,就不会往下走,看到那许多代码,自然就想弄清楚那些是什么,结果引出来好多知识,后来我才知道其中有些是调用WinAPI,结果我到现在还是不会用MFC。这里并不是贬低MFC,我相信MFC有其过人之处,只不过个人认为它的封装性做得不好,暴露出了太多东西,也许能够提高灵活性,不过,可能我跟它无缘:(。在这方面Java就做得不错,给你一个类,你用就是了,它将图形界面的低层实现隐藏的很好,将其作为一个对象给你,而你只需要在这个对象上修修改改,挺方便的 ^_^
  作为初学者,我觉得AWT的重点在于它的几个Listener的用法,还有布局格式,然后就是那许多的Component的用处和用法(不过,我觉得,等到用的时候再去找合适的Component进行学习应该也不算太迟 ^_^)
  不过,因为我个人使用的原因,所以至今AWT和SWING都用得很少,所以这方面也就不便多说了,抱歉 ^_^


 

  写这些并不是告诉大家怎么解决问题,因为每一个都有很多可写,只是希望能给初学者一点参考,希望能够帮助初学者们有的放矢地看书。


 

  第一次写这么多东西,欢迎大家探讨、指正。谢谢 ^_^

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 360快剪辑怎么使用 36金山词霸如何屏幕取词百度收购PPS已敲定!3

最新文章 微信3.6.0测试版更新了微信支付漏洞会造成哪 360快剪辑怎么使用 360快剪辑软件使用方法介酷骑单车是什么 酷骑单车有什么用Apple pay与支付宝有什么区别 Apple pay与贝贝特卖是正品吗 贝贝特卖网可靠吗

人气排行 xp系统停止服务怎么办?xp系统升级win7系统方电脑闹钟怎么设置 win7电脑闹钟怎么设置office2013安装教程图解:手把手教你安装与qq影音闪退怎么办 QQ影音闪退解决方法VeryCD镜像网站逐个数,电驴资料库全集同步推是什么?同步推使用方法介绍QQ2012什么时候出 最新版下载EDiary——一款好用的电子日记本