对 Java 中的每个知识点简短的概括,java知识点概括
对 Java 中的每个知识点简短的概括,java知识点概括
1.JDk、JRE、JVM分别是什么?他们之间的关系是什么?
(1).Jdk是Java开发工具包。
(2).JRE是Java运行时的环境。
(3).JVM是Java运行时的虚拟机。
JDK是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。JRE是运行JAVA程序所必须的环境的集合,包含JVM标准实现及Java核心类库。JVM是整个java实现跨平台的最核心的部分,能够运行以Java语言写的程序。
2.Java 的运行原理
Java源程序经过编译器编译后变成字节码,字节码由虚拟机解释执行,虚拟机将每一条要执行的字节码送给解释器,解释器将其翻译成特定机器上的机器码,然后在特定的机器上运行。
3.什么是面向对象编程?
在完成一件事情时,会将事情中的实体对象抽象出来,形成「类」的概念,事情的完成是通过类的对象之间发生关系去实现的。
4.Java支持的数据类型有哪些?
Java的数据类型包括基本数据类型和引用数据类型两大类。
基本数据类型包括整数类型、浮点类型和字符型。
整数型:byte、short、int、long。浮点型:double、float。
字符型:char。
布尔型:boolean
引用数据类型包括类类型、接口和数组。
5.运算符
算术运算符 赋值运算符 比较运算符 逻辑运算符
6.流程控制
6.1顺序结构
程序是一个自上而下运行的过程。
6.2分支选择结构
Java 中的分支选择结构有 if 结构、switch 结构
6.3循环结构
循环语句可以在满足循环条件的情况下,反复执行某一段代码。
被重复执行的代码叫做循环体。
while循环 for循环 do-while循环
6.4控制循环结构
break:在循环体中,使用 break 关键字跳出整个循环。
continue:在循环体中,使用 continue 跳出本次循环,循环还会继续执行。
7.
数组的要点
- 存放的数据是相同的数据类型
- 数组的长度在定义时就确定了大小,数组是不可变长度的,或者说叫定长
- 数组中可以存放任意的数据类型(包含基本数据类型、引用数据类型、数组)
- 数组本身是引用数据类型(在栈内存中会存储其在堆内存中的引用地址)
数组的初始化
- 静态初始化:显式的指定每个数组元素的值,由系统来决定数组的大小;
- 动态初始化:只需要指定数组的长度,通过程序动态的给每个元素赋值(即由系统为每个数组元素分配初始值)。
8.面向对象编程的基本特征
类的三大部件:成员变量、方法、构造器。
封装:隐藏方法的实现细节,让使用这只能通过预先定义的方法来访问数据,从而可以在方法中加入一些控制逻辑,限制对成员变量的不合理访问。
继承:继承是实现软件复用的重要手段,子类可以访问父类中的非private修饰的成员变量。
多态:Java引用类型变量有两种类型:一种是编译时的类型,一种是运行时的类型。如果运行时的类型和编译时的类型不一致就会出现所谓的多态。
9.
static 关键字
用于修饰成员变量和方法,用 static 修饰的成员变量后者方法是属于 类 的,而不属于该类的实例(对象)。通常把 static 修饰的成员变量称为「类变量、静态变量」,方法称为「类方法、静态方法」
this 关键字
Java 中使用 this 关键字,指向调用该方法的对象。根据 this 所在的位置,大致分为两种:
- 出现在构造器中:引用该构造器正在初始化的对象;
- 普通方法中:调用该方法的对象。
this 用于在类定义中,获取当前对象的属性,或者调用当前对象的方法。
10.包装类
自动装箱就是Java自动将原始类型值转换成对应的对象,比如将int的变量转换成Integer对象,这个过程叫做装箱,反之将Integer对象转换成int类型值,这个过程叫做拆箱。因为这里的装箱和拆箱是自动进行的非人为转换,所以就称作为自动装箱和拆箱.
在使用基本数据类型的时候,对于类的成员变量都会有默认值,但是这个默认值其实在很多的时候是有意义的,而不能随便的设置值。
如果使用包装类,则不会有初始化值,定义的为null。
方法的重载和重写
方法签名:只包含了方法名和参数列表
重写:发生在父类和子类之间,方法签名必须是一样的
重载:发生在本类中,方法名一样,但是参数列表不一样,重载可以是构造器的重载,也可以是方法的重载。
12.
final 可以修饰在类、成员变量、方法
- 如果修饰类:则该类不会被继承(一般在开发中很少使用);
- 如果修饰成员变量:一旦给成员变量赋值后就不允许修改其值,一般用在对常量的定义中。
- 如果修饰方法:该方法不能被重写
13.抽象类
抽象方法和抽象类都是使用 abstract 修饰的
- 如果在一个类中定义了抽象方法,那么这个类就是抽象类;
- 抽象类是无法实例化的,只能作为父类被继承使用;
- 抽象类的构造器只能用于被实现的子类的构造器调用。
abstract 是不能修饰成员变量的;
如果方法定义为 static,就不能使用 abstract 修饰符;如果方法定义为 private ,也不能使用 abstract 修饰符;
子类必须要实现抽象类的抽象方法
14.接口
如果在一个类中,一个实现的方法都没有,或者都是抽象方法,那么,这样的类,成为接口。
- 接口中所有的成员在定义的时候访问控制修饰符只能是 public 或者是 default;
- 接口的命名规范同类的命名规范;
- 在接口中,成员变量必须是静态的常量,方法必须是抽象方法,所以可以省略相关的修饰符。
接口的继承和类的继承不一样,接口支撑多继承,使用 extends 关键字,之间用逗号隔开,继承的内容包含了,常量和方法
接口是抽象类一样,是不能被实例化的,但是接口可以用于声明引用类型的变量,当使用接口来声明变量时,该变量的运行时类型必须是该接口的实现类。
接口的作用:
- 用于定义实现类的行为规范;
- 定义变量
- 定义一些常量
- 被其他类实现
一个类是可以实现多个接口的,使用 implements 关键字,多个接口之间用逗号隔开。
接口是抽象类一样,是不能被实例化的,但是接口可以用于声明引用类型的变量,当使用接口来声明变量时,该变量的运行时类型必须是该接口的实现类。
15.集合框架
在集合框架中,主要分为 Collection 和 Map 两大接口。
在 Collection 中又分为 List (有序集合) 和 Set (无序集合)。List 和 Set 都是接口。
Map 存储的 Key-Value 结构。
list 通过迭代器 Iterator 遍历元素
遍历 Map 结构
获取 Map 的 Key 集合,通过遍历 Key 集合,获取 Value 值。
- 获取 key 集合:map.keySet();
- 遍历 Key 集合:iterator;
- 获取 Value 值:get(key);
16.单例模式
所谓的单例模式,就是类只有一个对象,外部要使用该类的对象,通过调用一个类方法实现。
/**
* 饱汉式单例模式
* @author lzq31
*
*/
public class Service2 {
private static Service2 service = new Service2();
private Service2() {
}
public static Service2 getInstance() {
return service;
}
}
}
/**
* 饿汉式单例模式
* @author lzq31
*
*/
public class Service {
private static Service service;
private Service() {
}
public static Service getInstance() {
if (null == service) {
service = new Service();
}
return service;
}
}
17.异常处理
如果不处理异常,一旦在出现异常的地方,程序就会被「异常指令流」直接终止,不再往下运行。
使用 try catch判断一个对象是否为空,使用 null != str
在 try catch 结构中,catch 是可以省略的,也可以多异常的捕获,但是出现多异常的时候,父类异常只能出现在最下面。
在实际的开发中,一般最简单的方式就是使用一个 Exception 直接处理。
使用 finally
无论是否出现异常都会被执行,特别要注意的是,如果没有写 catch ,那么 finally 是会被执行的,但是中断后的语句是不会被执行的。
throws
在方法定义的后面显式的声明方法是有异常的,调用该方法的程序是要显式的处理异常
throw
自定义的创建一个异常对象。在一般的异常发生时候,虚拟机会动态的创建一个「系统异常」抛出,和自定义使用 throw 抛出是一个概念。
18.JDBC
- 选择数据库:加载数据库驱动
- 连接数据库
- 创建数据库查询
- 获取查询结果
- 关闭查询和连接
在使用 JDBC 的时候,需要关注的几个问题
- 查询分为操作类(增加、删除、修改)和查询类。
- 要避免重复的创建连接,增加数据库的连接数。
- 注意异常的处理逻辑,保证没有未关闭的无效连接存在。
相关文章
- 暂无相关文章
用户点评