花了比较短的时间,扫了一本买了很久的书,内容简单易懂,比较适合JAVA初学者,能够学到部分没有了解过的知识,如下.



head first in java


  1. 第三章,声明变量
  1. 对象存在于堆空间,New dog()
  2. book b =new book();book c = new book(); c = b;c=null;c引用被回收
  1. 第四章,对象的行为
  1. get set的作用,便于后续set的时候可加规则
  1. 第七章,集成与多态
  1. final,用来标类或方法,不再被覆盖
  2. 类不可被集成,方法不可被覆盖
  3. 覆盖父类注意:参数必须一样,权限不可小,只可大。public不能private
  4. 重载可以改权限,返回类型可以不同,但不能仅仅不同
  1. 第八章,接口与抽象类
  1. arraylist设置什么格式,get出来也是什么格式,除非instanceOf,后,强制转换成需要的格式
  2. A根类,BC都是A之类,如果D是BC的之类,BC如果有不同的方法,D的继承就有问题,容易致命方块。
  1. 解决方法:D对BC的可以用Implentments方法,继承多个接口
  1. 第九章,构造器与垃圾收集器
  1. 堆:对象生存的地方
  2. 栈:方法,方法内的局部变量,生存的地方
  1. private B b;此时对没有对象B,只有对B的引用,并未绑定
  2. private B b= new B();此时赋值后,堆才有B的位置
  1. 只有方法在栈顶的时候,对应的变量才可用。比如对象里面的方法和变量,只有最上面的方法使用中,变量才可用
  2. 被引用的变量如何死去
  1. 方法结束,同上
  2. 引用他的,娶别人了
  3. 引用他的变为Null
  1. 第十章,数字与静态
  1. 静态方法不能调用非静态变量
  2. 比如main函数是一个静态方法,不能调用main函数之外的非静态方法,比如Int a
  1. 十一章,异常处理
  1. 异常不建议用全父类,如catch(exception ex),能分细点,就细点
  2. 先写区间小的,再写大的
  3. 高风险的快不可catch,否则会报错,仅仅声明是不够的?
  1. 十四章,序列化和文件输入/输出
  1.     为什么写文件有两个流
  1. fileoutputstream,字节写入文件
  2. outputstream,对象,可以写入串流的格式
  3. object,首先碾平,outputstream,然后转为字节01101010,用fileoutputstream,变为可传输的文件流
  1. 网络与线程
  1. HTTP80端口
  2. HTFPS:443端口
  3. TELNET:23端口
  4. SMTP邮局交换:25
  5. FTP:20
  6. POP3:110
  7. socket chatsocket = new socket("127.0.0.1",5000);
  1. 本机IP测试连接socket