diff --git a/docs/java/Java基础知识.md b/docs/java/Java基础知识.md index 7f939224..f4444d2c 100644 --- a/docs/java/Java基础知识.md +++ b/docs/java/Java基础知识.md @@ -5,19 +5,21 @@ - [1. 面向对象和面向过程的区别](#1-面向对象和面向过程的区别) - [2. Java 语言有哪些特点?](#2-java-语言有哪些特点) - [3. 关于 JVM JDK 和 JRE 最详细通俗的解答](#3-关于-jvm-jdk-和-jre-最详细通俗的解答) - - [JVM](#jvm) - - [JDK 和 JRE](#jdk-和-jre) + - [JVM](#jvm) + - [JDK 和 JRE](#jdk-和-jre) - [4. Oracle JDK 和 OpenJDK 的对比](#4-oracle-jdk-和-openjdk-的对比) - [5. Java 和 C++的区别?](#5-java-和-c的区别) - [6. 什么是 Java 程序的主类 应用程序和小程序的主类有何不同?](#6-什么是-java-程序的主类-应用程序和小程序的主类有何不同) - [7. Java 应用程序与小程序之间有哪些差别?](#7-java-应用程序与小程序之间有哪些差别) - [8. 字符型常量和字符串常量的区别?](#8-字符型常量和字符串常量的区别) - [9. 构造器 Constructor 是否可被 override?](#9-构造器-constructor-是否可被-override) -- [10. 重载和重写的区别](#10-重载和重写的区别) - [重载](#重载) - [重写](#重写) +- [10. 重载和重写的区别](#10-重载和重写的区别) + - [重载](#重载) + - [重写](#重写) - [11. Java 面向对象编程三大特性: 封装 继承 多态](#11-java-面向对象编程三大特性-封装-继承-多态) - - [封装](#封装) - - [继承](#继承) - - [多态](#多态) + - [封装](#封装) + - [继承](#继承) + - [多态](#多态) - [12. String StringBuffer 和 StringBuilder 的区别是什么? String 为什么是不可变的?](#12-string-stringbuffer-和-stringbuilder-的区别是什么-string-为什么是不可变的) - [13. 自动装箱与拆箱](#13-自动装箱与拆箱) - [14. 在一个静态方法内调用一个非静态成员为什么是非法的?](#14-在一个静态方法内调用一个非静态成员为什么是非法的) @@ -34,26 +36,26 @@ - [25. 在调用子类构造方法之前会先调用父类没有参数的构造方法,其目的是?](#25-在调用子类构造方法之前会先调用父类没有参数的构造方法其目的是) - [26. == 与 equals(重要)](#26--与-equals重要) - [27. hashCode 与 equals (重要)](#27-hashcode-与-equals-重要) - - [hashCode()介绍](#hashcode介绍) - - [为什么要有 hashCode](#为什么要有-hashcode) - - [hashCode()与 equals()的相关规定](#hashcode与-equals的相关规定) + - [hashCode()介绍](#hashcode介绍) + - [为什么要有 hashCode](#为什么要有-hashcode) + - [hashCode()与 equals()的相关规定](#hashcode与-equals的相关规定) - [28. 为什么 Java 中只有值传递?](#28-为什么-java-中只有值传递) - [29. 简述线程、程序、进程的基本概念。以及他们之间关系是什么?](#29-简述线程程序进程的基本概念以及他们之间关系是什么) - [30. 线程有哪些基本状态?](#30-线程有哪些基本状态) - [31 关于 final 关键字的一些总结](#31-关于-final-关键字的一些总结) - [32 Java 中的异常处理](#32-java-中的异常处理) - - [Java 异常类层次结构图](#java-异常类层次结构图) - - [Throwable 类常用方法](#throwable-类常用方法) - - [异常处理总结](#异常处理总结) + - [Java 异常类层次结构图](#java-异常类层次结构图) + - [Throwable 类常用方法](#throwable-类常用方法) + - [异常处理总结](#异常处理总结) - [33 Java 序列化中如果有些字段不想进行序列化,怎么办?](#33-java-序列化中如果有些字段不想进行序列化怎么办) - [34 获取用键盘输入常用的两种方法](#34-获取用键盘输入常用的两种方法) - [35 Java 中 IO 流](#35-java-中-io-流) - - [Java 中 IO 流分为几种?](#java-中-io-流分为几种) - - [既然有了字节流,为什么还要有字符流?](#既然有了字节流为什么还要有字符流) - - [BIO,NIO,AIO 有什么区别?](#bionioaio-有什么区别) + - [Java 中 IO 流分为几种?](#java-中-io-流分为几种) + - [既然有了字节流,为什么还要有字符流?](#既然有了字节流为什么还要有字符流) + - [BIO,NIO,AIO 有什么区别?](#bionioaio-有什么区别) - [36. 常见关键字总结:static,final,this,super](#36-常见关键字总结staticfinalthissuper) - [37. Collections 工具类和 Arrays 工具类常见方法总结](#37-collections-工具类和-arrays-工具类常见方法总结) -- [38.深拷贝 vs 浅拷贝](#38-深拷贝-vs-浅拷贝) +- [38. 深拷贝 vs 浅拷贝](#38-深拷贝-vs-浅拷贝) - [参考](#参考) - [公众号](#公众号) @@ -193,12 +195,12 @@ Constructor 不能被 override(重写),但是可以 overload(重载),所 | 区别点 | 重载方法 | 重写方法 | | :--------- | :------- | :--------------------------------------------- | -| 发生范围 | 子类 | 同一个类中 | +| 发生范围 | 同一个类 | 子类 中 | | 参数列表 | 必须修改 | 一定不能修改 | | 返回类型 | 可修改 | 一定不能修改 | | 异常 | 可修改 | 可以减少或删除,一定不能抛出新的或者更广的异常 | | 访问修饰符 | 可修改 | 一定不能做更严格的限制(可以降低限制) | -| 发生阶段 | 运行期 | 编译器 | +| 发生阶段 | 编译期 | 运行期 | ## 11. Java 面向对象编程三大特性: 封装 继承 多态