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