Java 学习心得(1)

刚开始学习Java,感觉Java语言的特点就是面向对象,逻辑很清晰,之前有一点C++的基础,因此学习J2SE的基础感觉还是挺有趣的,经过将近一个月的Java学习,记录一下学习的心得,方便之后回来看看!

我学习J2SE首先是看视频,网上很容易找到,主要原因是接触一门新的语言,对它的开发环境跟特点不是特别熟悉,跟着视频一步一步做效率会高一些,但可能这样也会错过一些比较好玩的东西。刚开始学,还是跟着老师讲的,一行一行代码敲的,从最开始用UtralEdit编辑,在DOS下运行,到后来终于到MyEclipse这一强大的现代化工具,对代码的也更加熟悉了。

讲一下我这个月的学习收获吧!

java的特点

  1. 首先是Java里面没有了指针,C++里面指针是相对比较难的部分了,至今指针仍不是很懂,但其实指针还是挺方便的,在Java编程里也有一部分仿照C++里面的指针进行编程的;
  2. Java最大的特点在于面向对象编程,逻辑思路比较清晰,也比较容易理解;
  3. Java之所以广泛应用的原因在于Java的跨平台特性,通过编译形成一个一个的class文件,而class文件是可以跨平台运行的;
  4. Java的垃圾处理机制也非常厉害,在编程时不用担心内存的问题;

Java知识点

  1. Java语言的编程习惯,我觉得这个是很重要的一个方面,这也是看视频的一个很大的好处,好的编程习惯可以省去很多不必要的麻烦;
  2. 变量,表示符,运算符等等基本知识与C++中的知识比较接近,也很容易理解;
  3. Java中boolean类型与C++中不同的点在于C++中可以用0表示False,1表示true,而Java里只能用true和false;
  4. Java里面内存堆和栈的区别,记得之前面试的时候遇到过,基本栈是存储变量,而这个变量对应到堆里面的一些值,或者引用;
  5. Java里面的this关键字,是指向自身的引用,使用this可以解决成员变量和参数重名的情况,比如构造方法中this.x = x;一般比较方便又不至于混淆;
  6. static关键字,用static声明的成员变量为静态成员变量,它是该类的公用变量,static成员变量只有一份,因此在后面使用properties时可以将load内存设置为static的,这样在每次调用方法getProperty时不需要每次load内存,节省时间;而这些static变量一般存于data segment里面;
  7. 类的继承和权限控制,注意private,public以及default修饰符在继承中的不同,一般子类只能继承父类非private变量和方法,在继承问题中有关多态(在执行期间而非编译期间判断所引用对象的实际类型,根据实际的类型调用其相对应的方法)的使用,使用多态可以将程序变得更简单一些,同一类事物可以重写自身特殊的方法;
  8. 抽象类,一般用abstract关键字来修饰,含有抽象方法的类必须被声明为抽象类,抽象方法必须被重写,抽象类不能被实例化,抽象方法只需声明,不需要实现;
  9. final关键字,final变量的值不能够被改变,final的方法不能够被重写,final的类不能够被继承;
  10. 异常处理:trycatch语句,一般小的异常处理写在前面;
  11. 泛型的概念,一般在java.util里面较多用到,根据容器里装的数据的实际类型指定数据的类型。
Java里面的包:
  • java.lang :主要提供一些Java语言的核心类,提供常用的功能,比如String等等,使用这个包是不需要import的,可以直接使用;这里面还会包含线程的学习,掌握线程的概念以及编程原理
  • java.awt:主要包含了构成抽象窗口工具集的多各类,在使用这些类的时候注意添加**Listener等的时候一般使用继承,虽然接口也可以实现,但接口需要实现每一个方法,而我们往往只需要用到其中的一个或两个方法,因此使用对于对应Adapter的继承更方便一些;
  • java.net:主要提供执行与网络相关的操作的类;在网络编程方面一般有一个Client和一个Server,通过socket通信在编程时注意将端口号设置为相同的,并且对于客户端而言,换一个位置可能客户端的IP就需要改变,在使用socket编程中应注意对各种Exception的处理,如果初期的话还是将可能出现的Exception处理一下,这样对以后的编程也会有很大的帮助,如果只是想尽快实现需求的话可能直接throws会节省时间一些;;
  • java.io:包含能提供多种输入/输出功能的类,这个里面概念还是挺多的,我刚开始还是学的挺晕的,一般会有字符流,字节流,还有节点流,处理流,这个概念还是需要掌握的,对于字节流,即输入输出的单位为字节,8bit,而字符流相当于2个字节,一般编程用字符流,因为对于汉语而言就是用的字符编码;在这块一般InputStream OutputStream 是针对于字节而言的,一般Writer,Reader是针对于字符而言的,在这块编程时应注意传完数据之后flush,以及close,因为一般的垃圾处理是不会处理的;注意不同类型布局管理器的使用BorderLayout是Frame类的默认布局管理器;
  • java.util:包含一些实用的工具类,这里面主要学习了一个图:
  • 对于Map接口定义了存储键(key)-值(value)映射对的方法;除了这些之外还有一个Iterator接口,所有实现了collection类接口的容器类都有一个Iterator方法,可以返回一个实现了Iterator接口的对象,Iterator对象称为迭代器,可以方便的实现对容器内元素的遍历操作;
学习基础知识,我最大的感受就是一定要多看看API文档,有时候多看看文档能帮你记起很多东西,可能有的时候硬想可能是想不到的,刚开始学习,简单记录一下感想。可能内容不是很全面。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值