下面的是 Thinking in Java这本书中的一二章的知识,其中第一章是本书的概括,然后第二章讲的是创建类;
第一章:
java中最小的文件是class(类),所有的程序都是由类组成的,相当于一群人合伙做一件事,需要对每一个人进行不同的分工和合作;在完成工作时类需要和外界接触沟通,这些沟通的通道就是类的接口;然而如果类内部所有的数据都可以供外部修改读取的话,有很大几率会生成BUG,所以通过权限控制(private,proteted,public),对外界隐藏一些不必要的信息,直接通过接口来进行通讯;
类之间有组合和继承方式进行联合运算,类的组合相对于继承更方便一些,但继承也有很大的作用;继承分成基类和导出类,基类是一部分类中他们所共有的属性和方法,把这些东西抽象出来直接构成一个类,一是减少了代码量,二是显示更直观,方便;有时候可以通过基类的调用方法直接调用导出类中的基类部分的数据和方法;
容器就是一种存储数据的结构,数组,链表,树,他们都是容器;泛型是一种万能容器,由于它可以装任何数据,则我们需要在外部对内部的数据做一个说明,例如ArrayList<Shape> sc= new ArrayList<Shape> ();
异常处理相当于是当程序出现运行错误时程序要做的事情。是抛出异常停止运行还是修正程序让其继续运行,待结束后自动上传BUG待处理,这都可以通过异常处理完成;
多进程多线程则充分运用了现在多核心处理器的性能,可以并行运行程序代码,做到快速反应,但有的时候多线程需要访问同一个资源时,则需要实现完美的变量控制,以防多个进程同时修改数据造成数据异常;
第二章:
第二章讲的是类的创建;
其中堆栈和堆的区别很大,堆栈需要用指针严格控制栈中的数据,所以需要固定大小的数据放入其中才更好。堆中可以方便存放大小不定的数据,所以类放入堆中相对更自由;然而栈中数据存储读取快,但堆中相对更慢;
java对此则分出了两种数据,一是固定长度的基本数据类型,int char long,把他们放入栈中,达到快速存储;而对于大小不定的引用类型数据则把引用(固定长度)放在栈中,把具体数据放在堆中,栈中引用指向堆中的地址,类似于数组,字符串,自定义类;
堆中的数据只要失去了引用,则java会自动回收这部分内存;
基本数据类型,boolean只有哦true和false两种状态,char是无符号数,其他所有均有正负值;
static是一个静态标记,它标记的函数和变量是所有该类型的变量都可以访问和修改的数据;这个很重要;静态方法只能调用静态方法;
注释文档:用// 、 /* */两个进行注解,还有一种是用 /** */ 注解,对这个.java文件进行javadoc则会把这些注解生成一个html文档,方便查看;
编码分格一般是把所有的英文连在一起,然后首字母全部大写(国际惯例);
类的创建代码:String s = new String();其中左边是在栈中创建一个引用,右边则是在堆中创建一块内存,此时此内存中没有存储数据;