欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java复习笔记(Wust)

程序员文章站 2022-03-15 15:00:13
第一章.Java概述JDK工具箱与JVMjavac:用于将java源文件编译为字节码保存在.class文件中java:用于运行.class字节码文件或jar文件java通过JVM技术实现平台无关Java类库java.io凡是需要完成与操作系统有关的较底层的输入/输出操作的java程序,都需要引入java.iojava.lang包含基本数据类型,数学方法,String,Thread(线程),Expection(异常处理类)等。java,util工具包,包含...

第一章.Java概述

JDK工具箱与JVM

  • javac:用于将java源文件编译为字节码保存在.class文件中
  • java:用于运行.class字节码文件或jar文件
  • java通过JVM技术实现平台无关

Java类库

库名 作用
java.io 凡是需要完成与操作系统有关的较底层的输入/输出操作的java程序,都需要引入java.io
java.lang 包含基本数据类型,数学方法,String,Thread(线程),Expection(异常处理类)等。
java,util 工具包,包含了一些实用工具,如处理时间的Date类,处理变长数组的Vector类,实现集合Collection接口及其子接口和子类等
java.awt java的GUI库,包含图形界面组件,低级绘图操作,布局管理和事件处理模型
java.swing GUI库
java.sql 实现JDBC的类库,利用这个包可以使java程序具有访问不同数据库的功能
java.net 实现网络功能的类库
  • 程序运行时,系统会自动引入java.lang包
  • 在同一个包中的类可以相互访问,访问其他包中的类则需要import引入

其他

  • main方法是程序运行的入口,可接受命令行参数
  • 每个类编译完成后,会生成各自的字节码文件
  • 同一个java源文件中,最多包含一个用public修饰的类
  • public修饰的类必须与源文件名同名(大小写敏感)
  • Java标准版主要用于桌面级的应用和数据库的开发

第二章.Java语言基础

标识符定义

  • 标识符开头必须是①下划线_ ②字母 ③美元符$ 后面接这三种类型或数字
  • 关键字和保留字都是小写,且无sizeof运算符

数据类型

1.基本数据类型

​ 8种基本数据类型:

​ byte,short,int,long(整型)

​ float,double,(浮点型)

​ char,boolean。

  • float类型后面必须加f,否则表示double类型。
  • 对于基本数据类型的变量,内存空间中存放的是它的值。
  • 数字值不能自动转换为布尔值。

2.引用数据类型

  1. String类型
  2. StringBuffer类型
  3. StringTokenizer类型
  • String类型创建后不能再做修改,StringBuffer类型可扩充,可修改,是可变长的字符串。

​ 4.数组

​ 声明方法:int [] arr =new int[5], length属性表示数组长度。

3.与日期、时间、数学相关的类

  1. Date类,默认为时间戳。
  2. 格式化类:DateFomat(抽象类),SimpleDateFormat(前者的子类)
  3. Math类,提供了一些数学操作。

Java内置异常

Java复习笔记(Wust)

  • 异常处理就是异常发生后,应用程序能够转移到一个安全状态,使得系统能够恢复控制权或降级运行或正常结束程序运行
  • 所有异常皆继承自Throwable类,若提问直接继承,则是Exception类

第三章.Java面向对象的程序设计

包与类

  • 一个源文件中最多只能由一条package语句
  • 如果源文件中包含了多个类或者接口的定义,则会编译成多个类或接口对应的.class文件,它们都位于相同的包

类的构造方法

  • 构造方法:1.与类同名 2.不能声明返回类型 3.不能被static、final、synchronized、abstract和native修饰。构造方法不能被子类继承,所以用final和abstract修饰没有意义
  • 在匿名类或内部类中使用this,指的是匿名类或内部类本身,要想调用外部类,则必须使用 外部类.this 这种方法

访问权限控制

控制符 修饰的元素 可访问范围
public 类,变量和方法 所有类
default 类,变量和方法 同一个包中的类
protected 变量和方法 同一个包中类,所有子类
private 变量和方法 仅本类

继承

  • Java不支持多继承。
  • 子类将继承父类非私有的属性和方法(考试按这个来)。
  • 覆盖:父类与子类之间,重载:同一个类中。
  • 覆盖和重载都要求必须同名,final修饰的方法,重载√ 覆盖×。
  • 子类方法覆盖时改变不了方法的访问权限。
  • super可以引用子类的直接父类,通常用来引用父类的成员变量或方法(前提是成员是public类型)

接口与抽象类

  • 抽象类可以有构造方法,但构造方法不可被声明为抽象方法。
  • 抽象类不可被实例化,即不能new,但可声明对象。
  • 抽象类可以有实例变量和具体方法。
  • 抽象类不能用final修饰。
  • 抽象类的子类必须覆盖父类的所有抽象方法才能变成非抽象类。
  • abstract不能与private,static,final并列修饰同一个方法,因为不能被继承或者覆盖
  • 接口是一种特殊的抽象类,当抽象类所有方法都是抽象时即可将class变为interface,接口中所有方法都默认为public abstract类型。
  • 一个类可以实现多个接口。
  • 实现接口必须给出接口中所有方法的方法体。
  • 接口中不能定义静态方法,但能定义常量值,常量值默认使用public abstract final修饰的。

类的高级特征

  • static静态代码块只会初始化一次,就是类被装载时。
  • static方法仅能调用其他静态方法或静态变量,因为调用其他非静态方法需要实例对象,因此需要构造函数,可是static初始化时构造函数还未初始化,因此static方法中不能用this或者super。
  • final修饰的类不可被继承,修饰的方法不可被覆盖,修饰的变量初始化后不允许再改变。好处:把方法锁定,防止任何继承类修改它的意义和实现。

第四章.Java进程与多线程

线程创建与启动

  • 进程中可有多个线程,每一个线程可以看成由代码、一个虚拟CPU以及数据三部分组成。
  • 创建线程的方法有两种:①继承Thread并覆盖run()方法 ②实现Runnable接口创建并重写run()方法。
  • 启动线程:先实例化一个有run方法的类,然后new 一个thread对象,用该类去实例化此thread对象,然后此thread对象调用start()方法。

线程操作与协作

  • 线程休眠:run方法中调用Thread.sleep(毫秒数)
  • 线程协作:synchronized可占有某个对象obj,此对象可以应用wait阻塞线程,obj.wait()。应用notify方法唤醒wait队列中的第一个线程,obj.notify()。应用notifyAll方法唤醒队列中所有线程。

第五章.Java集合框架和泛型

Java复习笔记(Wust)

  • Map接口是间接继承自Iterable。
  • Map有几个重要方法,①ketSet():返回key的集合 ②put():存放键值对 ③get():获取键对应的值 ④size():统计元素个数

第六章.JavaUI设计及图形功能

布局管理器及常用布局

  • BorderLayout(默认布局):东南西北中位置布局。
  • FlowLayout:从左往右排列。
  • GridLayout
  • 空布局

容器

  • Frame,Applet,Dialog都是顶层容器,不需要其它组件的支撑。
  • 其它都是非顶层组件,需要依赖顶层容器才能显示。

第七章.Java I/O操作与文件读写

I/O分类

  • 流分字节流和字符流。
  • 字节流通常用于处理二进制数据,如图像数据流,基本单位为字节,默认不适用缓冲区。
  • 字符流只能用于处理文本数据,基本单元为Unicode(两个字节),使用缓冲区。

文件类File及Java文件读写

  • 类File设置了一个静态成员变量File.separator表示路径分隔符,Windows下为’\’,Unix下为’/’

字节流

Java复习笔记(Wust)

  • 获取字节流方法:read()
  • 获取流长度方法:available()

Java复习笔记(Wust)

  • 写入字节流方法:write()
  • 强制发送缓冲区数据方法:flush()

字符流

Java复习笔记(Wust)
Java复习笔记(Wust)

  • 同字节流,字符流基类Writer与Reader也封装了read()与write()方法。

对象序列化

  • 实现了Serializable接口的类的对象可序列化,实现对象的持久化。
  • Serializable接口没有定义任何方法。
  • 将对象流还原为对象的过程,称为反序列化。

第八章.Java网络编程

网络协议

  • TCP/IP连接是一种传输层协议,底层实现了该协议可以进行网络通讯。
  • HTPP是一种应用层协议,应用层协议还有:FTP(文件传输协议),TELNET(远程登录协议)等。

Socket及其工作原理

  • Socket(套接字)是支持TCP/IP协议网络通信的基本操作单元。
  • 运行于客户端的Socket称为Client Socket,运行于服务器端的叫Server Socket,必须有一对套接字才能建立Socket连接。
  • 使用客户端套接字 Socket创建对象时,需要指定服务器主机名称和端口。

第九章.JDBC编程

连接MySQL数据库

  1. 注册数据库驱动程序,建立连接。

    ​ 用java.lang.Class里的静态方法注册MySQL驱动。

    ​ 使用DriverManager.getConnection()创建Connection接口对象。

  2. 根据连接对象,创建数据库操作的代理对象(也称命令对象)。

    ​ 对Conncetion接口类型的对象应用方法createStatement()得到Statement接口类型的对象,应用preparedStatement()得到PrepareStatement接口类型的对象。

  3. 根据命令对象,进行数据库的CRUD操作。

  4. 关闭数据库连接资源。

增删改操作

  • 与查询操作不同,增删改操作不会返回一个结果集ResultSet,而是返回一个整数表示当前操作所影响的记录行数。
  • 方法execute(“SQL语句”)将返回boolean类型,表示操作是否成功。
  • 方法executeUpdate(“SQL语句”)将返回int类型,表示受影响的行数。

查询操作

  • executeQuery(“SQL语句”)将得到ResultSet接口类型的对象(结果集)。
  • 结果集有一个游标,初始位于第一行之前,使用next()方法移动到下一行,没有下一行返回false。

使用预处理封装类

  • 使用Statement类型的命令对象,每次都会重新对SQL语句编译再执行,而PreparedStatement是预编译类型,且允许建立带有占位参数的SQL语句。

QL语句")将返回int类型,表示受影响的行数。

查询操作

  • executeQuery(“SQL语句”)将得到ResultSet接口类型的对象(结果集)。
  • 结果集有一个游标,初始位于第一行之前,使用next()方法移动到下一行,没有下一行返回false。

使用预处理封装类

  • 使用Statement类型的命令对象,每次都会重新对SQL语句编译再执行,而PreparedStatement是预编译类型,且允许建立带有占位参数的SQL语句。

博 --2020.12.2

本文地址:https://blog.csdn.net/PengYuYan__/article/details/110497422

相关标签: Java基础 java