java学习笔记

编程思想

  • API文档很重要!!!
  • 边想边写,满满的思路就有了。
  • 经常打印一些东西出来,对调试程序非常有帮助。
  • 多查API文档,多敲代码,看懂了之后再敲。
  • 短时间高强度的学习,背是一种很好的方式。
  • 保留好例子程序,将来需要用到时查API对照例子程序的写法来写。
  • 三个点支撑你的发展:技术、管理、沟通。

  1. 在此问题中,有哪些类和对象
  2. 类和对象应该具有哪些属性和方法
  3. 类和类之间具备了什么关系

创建方法

  1. 方法的名字
  2. 方法的参数
  3. 方法的返回值

内存

了解内存,stack、heap、data seg,代码是如何运行的

Package和import

package com.bjsxt.java140;//1. 公司的域名倒过来,后跟项目名等
public class Cat {
}


public class Dog {
public static void main(String[] args) {
com.bjsxt.java140.Cat c = new com.bjsxt.java140.Cat();//2. 编译出来的类必须位于正确的目录下
}
}


import com.bjsxt.java140.Cat;//3. 引入包
public class Dog {
public static void main(String[] args) {
Cat c = new Cat();//4. 简写
}
}


重写(override/overwrite)

方法重写时要copy,方法名切勿敲错。

继承

  1. private
  2. default
  3. protected
  4. public

class只能是public和default

继承中的构造方法

  • 子类的构造过程中必须调用一次父类的构造方法
  • 子类在自己的构造方法中使用super(arguments list)调用父类的构造方法
  • 使用this(arguments list)调用本类的另外的构造方法
  • 如果调用super,必须写在子类构造方法的第一行

多态(polymophysm)

多态存在的3个必要条件:

  1. 要有继承
  2. 要有重写
  3. 父类引用指向子类对象

异常处理(运行期出现的错误)

观察错误的名字和行号很重要
Alt text

  • 能处理的一定要处理(try{}catch(){})
  • 处理不了的一定要往外抛(throws Exception)
  • 5个关键字:try、catch、finally、throws、throw
  • 先逮小的,再逮大的
  • 重写方法,抛出异常需一致或者不抛出

数组

先分配空间,再装数组

int a[ ];//声明数组的名字
a = new int[3];//分配空间
a[0] = 1; a[2] = 5;a[3] = 7;
date days[ ];//声明数组名
days = new date[3];//分配空间
days[0] = new date(1, 4, 2017);
days[1] = new date(2, 4, 2017);
days[2] = new date(3, 4, 2017);

容器

Alt text

泛型(Generic)

  • 在定义集合时同时定义集合中对象的类型
  • 泛型➕自动打包和解包(auto-boxing&unboxing)可以省略强制转换

IO

  1. 输入流
  2. 输出流
  3. 字节流
  4. 字符流
  5. 节点流
  6. 处理流

线程

定义:一个程序里面不同的执行路径。

  • 进程是一个静态的概念,在机器里头实际上运行的都是线程。
  • 在同一个时间点上,一个cpu只能支持一个线程在执行。
  • 能使用接口,就不要从Thread类继承。这样会比较灵活一些。
  • synchronized,执行这个方法的时候,当前对象被锁定。

网络编程

Alt text

原文地址:https://www.cnblogs.com/liushengchieh/p/7154402.html