Java语言基础

简介

本文是为快速上手Java所写的一个大纲性的文档,并搜集网络上相关条目。目录结构参考本书

开发环境设置

首先安装jdk,IDE使用IDEA,有免费的社区版

语言基础

  1. Java程序基本结构
  2. 源文件必须以.java为扩展名,一个源文件中可以有多个类,但是只能有一个public类,同时源文件名必须与该public类名相同(大小写不敏感)
  3. 数据类型
    1. 整型,byte 8、short 16、int 32、long 64
    2. 浮点型,float 32、double 64
    3. 布尔型,boolean
    4. 字符型,char
    1. 自动转换
    2. 强制转换new_type var2 = (new_type) var1
    3. parseXXX函数
  4. 控制台输入,BufferedReader、Scanner
  5. 运算符与表达式

流程控制

  1. if、if…else、if…else if… else
  2. switch…case,表达式可以为整型或字符型
  3. while,do…while
  4. for(expr1, expr2, expr3)
  5. break、continue、return

数组与字符串

    1. 数组定义并不分配内存空间
    2. new 动态分配内存
    1. binarySearch
    2. sort
    3. copyOf
    4. equals
  1. for each: for(int ele: arr)expr;
  2. 多维数组
  3. 字符串

类与对象

  1. 类定义(修饰符
    1. 一般结构
    2. 成员变量
    3. 成员方法
  2. 对象(创建-使用-销毁)
  3. 匿名对象
    1. Java使用按值传递,没有引用传递(即C++中的&传递)
    2. 非基本类型传递的是其指针,可以看成是引用传递
    3. String在作为参数表现为按值传递,因为赋值实际上new了一个String
    4. 可变长参数

类的特性

  1. 私有、公有成员
  2. 重载:参数
  3. 构造函数:调用另外的构造函数,使用this且必须为第一行
  4. 静态成员或者叫类成员,使用static修饰
    1. 静态块
  5. 对象

面向对象

  1. 继承(is-a)
    1. 子类构造函数执行前会先调用父类无参数的构造函数
    2. 使用super调用特定的父类构造函数,必须为第一行
    3. 使用super.method()、super.attr访问父类中的方法和属性,不能访问private修饰的
    1. 不能覆盖父类中被final和static修饰的方法
    2. 子类方法的访问权限要大于父类方法
    3. 多态时,当子类覆盖了父类的方法,使用子类覆盖的方法
    4. 当子类覆盖父类的成员变量时,父类方法使用的是父类的成员变量,子类方法使用的是子类的成员变量
    1. Java中没有隐藏
    2. Java不需要virtual就能实现多态
  2. Java.lang.Object
    1. equals
    2. toString
    3. getClass
      1. 在派生类中覆盖基类的clone()方法,并声明为publicObject类中的clone()方法为protected的】
      2. 在派生类的clone()方法中,调用super.clone()
      3. 在派生类中实现Cloneable接口
  3. 抽象类、方法 abstract
    1. 在抽象类内声明构造函数是多余的
    2. 不一定要包含抽象方法、但是抽象方法一定要被abstract修饰
  4. 接口(has-a)
    1. 抽象类是一种功能不全的类
    2. 接口只是一个抽象方法声明和静态不能被修改的数据的集合
    3. 两者都不能被实例化
    4. 抽象类是提取具体类的公因式
    5. 而接口是为了将一些不相关的类"杂凑"成一个共同的群体
    6. 抽象类表示该类中可能已经有一些方法的具体定义,但是接口就仅仅只能定义各个方法的界面
  5. 内部类和匿名类
  6. Package包
    1. 默认加载java.lang
    2. ?import导入包
    3. ClassPath
  7. GC
    1. finalze方法

异常处理

  1. try-catch-finally语句
  2. 抛出异常
    1. throw new throwable
    2. 在方法中添加throws 列表

IO

多线程

  1. 实现
    1. extend Thread,并覆盖run方法
    2. implements Runnable,并实现run接口, 可以解决多重继承问题,实现数据共享
    3. 线程同步,synchronized修饰符
    4. 线程通信,wait、notify、notifyAll

GUI

设计模式

 

Java进阶的话可以看下《Java编程思想》《Effective Java》《深入Java虚拟机》

原文地址:https://www.cnblogs.com/wbin91/p/3900598.html