【软考】J2SE视频——java入门总结

来源:互联网 发布:mac上的windows虚拟机 编辑:程序博客网 时间:2024/04/28 16:26

     用了大概一周的时间将J2SE的视频看完,也算是java的入门吧,下面将一些基础的知识进行一些总结,来一张简图:
                                


【基础知识】


    基础知识很多地方都很熟悉,原来都接触过,语言之间是相通的,像标示符和关键字、程序编码格式、命名规则、循环语句和异常处理。标识符的命名和学习vb的时候是差不多的,我觉得只要不是瞎命名就不会有问题。关键字就是java代码中已有的一些字符串。程序编码要注意大括号和空格。循环语句同样是三种:顺序、选择、循环。


    异常处理原来也接触过,不过感觉还不够系统,首先看一下异常的分类:

                 

     Error:错误,由java虚拟机生成并抛出,包括动态链接失败,虚拟机错误等,程序对其不作处理。


     ps:虚拟机虚拟机是一种抽象化的计算机,通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机有自己完善的硬体架构,如处处理器、对栈、寄存器等,还具有相应的指令系统。JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。(来自百度百科)


    Exception:所有异常类的父类,其子类对应了各种各样可能出现的异常事件,一般需要用户显示的声明或捕获。


    Runtime Exception:一些特殊的异常,如被0除、数组下标超范围等,产生较频繁,处理麻烦,显式的声明或捕获对程序的可读性和运行效率影响较大。可不处理。


异常处理以下面这张图来简单介绍:


【面向对象】


java是纯面向对象的一门语言,所以面向对象的知识非常重要,面向对象我们原来有了基础,学习起来容易了很多,但是还是需要总结,这一块的知识需要详细的总结,在这里暂不论述。


【基本应用】


常用类


比较简单,用下面一张图大致总结:



容器


容器可以管理对象的生命周期、对象与对象之间的依赖关系,可以使用一个配置文件(通常是XML),在上面定义好对象的名称、如何产生(Prototype 方式或Singleton 方式)、哪个对象产生之后必须设定成为某个对象的属性等,在启动容器之后,所有的对象都可以直接取用,不用编写任何一行程序代码来产生对象,或是建立对象与对象之间的依赖关系。

容器也就是装其他各种对象的一个东西。



对这一部分的总结一下:

       

    Collection接口定义了存取一组对象的方法,其子接口Set和List分别定义了存储方式。Collection是最基本的集合接口,一个Collection代表一组Object


    Set接口是Collection的子接口,Set接口没有提供额外的方法,但实现Set接口的容器类中的数据对象无序且不可重复;主要有HashSet和TreeSet等。


     List接口也是Collection的子接口,实现List接口的容器类中的中的数据对象有序且可重复。主要有ArrayList和LinkedList等。


   Iterator接口:所有实现了Collection接口的容器类都有一个iterator()方法,用以返回一个实现了Iterator接口的对象。Iterator对象称做迭代器,用以方便的实现对容器内元素的遍历操作.Iterator方法可以理解为一个游标或者指针.

    Map接口:Map没有继承Collection接口,它定义了存储“key-value”映射对的方法。Map类中存储的键—值对通过键来标识,所以键值不能重复。实现类有HashMap和TreeMap等。


 Comparable接口:Collections类提供了一些静态方法实现了基于List容器的一些常用算法。而实现了Comparable接口的类通过实compareTo()方法确定该类对象的排序方式。


   打包、解包


 介绍这个之前首先我们了解一下对象包装器的概念,每一个基本类型 都有一个与之对应的类,这个类就称为对象包装器。例如,int 的对象包装器 就是 Integer。对象包装器是不可以变的,一旦构造了包装器,就不允许更改其中的值了!


  打包:

  如果我们只是要在list中加入一些简单的int数据,还得 list.add(new Integer(10)); 很麻烦,java se 5.0 能将list.add(10)自动转成list.add(new Integer(10)),这个过程就是自动打包的过程!


  解包:

  取数据的时候,以前得int a = list.get(i).intValue()    现在int a = list.get(i)就可以,自动完成的这个过程就是自动解包。


Io流


流就是字节序列的抽象概念,能被连续读取数据的数据源和能被连续写入数据的接收端就是流,流机制是JavaC++中的一个重要机制,通过流我们可以自由地控制文件、内存、IO设备等数据的流向。而IO流就是用于处理设备上的数据,如:硬盘、内存、键盘录入等。最基础的六个是:输入输出流,字节流,字符流,节点流、处理流。其他都是在这个基础上。


对这一部分的大致总结如下:



线程


这一部分在操作系统中接触过,学习起来就容易理解了许多。


    多线程有多种实现方式,一种是实现Runnable接口,另一个是继承自thead类。但是推荐使用实现接口的方式,因为接口比继承更为灵活一点。一个类只能继承一个类,却可以实现多个接口。


   线程状态转换



   三个方法,从名字中就大概可以猜出来是什么意思,sleep()是睡眠,join()合并,yield()让出CPU,给其他线程机会,这里注意区分sleep和wait的区别,wait时别的线程可以访问锁定对象,sleep时不可以访问锁定对象。


GUI编程


    主要是讲解了我们怎样构建图形界面,GUI(Graphics Users Interface图形用户界面)编程,它的各种元素,如窗口、按钮、文本框等都由Java类来实现。AWT(Abstract Window Toolkit)包括很多类和接口,用于GUI编程。


小结:


    花了很长的时间来总结,很多知识点算是过了一遍,总结的时候发现有的知识不熟悉了还会翻看笔记,上网查阅。现在只是了解java的一些基本的东西,而且不能保证自己每个知识点都掌握了,这个阶段先囫囵吞枣了。总体来说还是很喜欢这个视频,老师很幽默,为我们增加了狠多乐趣。这是一个新的开端,接下来的日子好好加油!

0 0
原创粉丝点击