Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
清新范er
JavaGuide
提交
c637a1d9
J
JavaGuide
项目概览
清新范er
/
JavaGuide
与 Fork 源项目一致
从无法访问的项目Fork
通知
4
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
JavaGuide
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
c637a1d9
编写于
9月 02, 2018
作者:
S
Snailclimb
提交者:
GitHub
9月 02, 2018
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
增加 final 关键字的一些总结
上级
4e647d5c
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
40 addition
and
34 deletion
+40
-34
Java相关/Java基础知识.md
Java相关/Java基础知识.md
+40
-34
未找到文件。
Java相关/Java基础知识.md
浏览文件 @
c637a1d9
<!-- MarkdownTOC -->
-
[
Java 基础知识30问
](
#java-基础知识30问
)
-
[
1. 面向对象和面向过程的区别
](
#1-面向对象和面向过程的区别
)
-
[
1. 面向对象和面向过程的区别
](
#1-面向对象和面向过程的区别
)
-
[
面向过程
](
#面向过程
)
-
[
面向对象
](
#面向对象
)
-
[
2. Java 语言有哪些特点?
](
#2-java-语言有哪些特点?
)
-
[
3. 什么是 JDK?什么是 JRE?什么是 JVM?三者之间的联系与区别
](
#3-什么是-jdk?什么是-jre?什么是-jvm?三者之间的联系与区别
)
-
[
4. 什么是字节码?采用字节码的最大好处是什么?
](
#4-什么是字节码?采用字节码的最大好处是什么?
)
-
[
2. Java 语言有哪些特点?
](
#2-java-语言有哪些特点?
)
-
[
3. 什么是 JDK?什么是 JRE?什么是 JVM?三者之间的联系与区别
](
#3-什么是-jdk?什么是-jre?什么是-jvm?三者之间的联系与区别
)
-
[
4. 什么是字节码?采用字节码的最大好处是什么?
](
#4-什么是字节码?采用字节码的最大好处是什么?
)
-
[
先看下 java 中的编译器和解释器:
](
#先看下-java-中的编译器和解释器:
)
-
[
采用字节码的好处:
](
#采用字节码的好处:
)
-
[
5. Java和C++的区别
](
#5-java和c的区别
)
-
[
6. 什么是 Java 程序的主类?应用程序和小程序的主类有何不同?
](
#6-什么是-java-程序的主类?应用程序和小程序的主类有何不同?
)
-
[
7. Java 应用程序与小程序之间有那些差别?
](
#7-java-应用程序与小程序之间有那些差别?
)
-
[
8. 字符型常量和字符串常量的区别
](
#8-字符型常量和字符串常量的区别
)
-
[
9. 构造器 Constructor 是否可被 override
](
#9-构造器-constructor-是否可被-override
)
-
[
10. 重载和重写的区别
](
#10-重载和重写的区别
)
-
[
11. Java 面向对象编程三大特性:封装、继承、多态
](
#11-java-面向对象编程三大特性封装、继承、多态
)
-
[
5. Java和C++的区别
](
#5-java和c的区别
)
-
[
6. 什么是 Java 程序的主类?应用程序和小程序的主类有何不同?
](
#6-什么是-java-程序的主类?应用程序和小程序的主类有何不同?
)
-
[
7. Java 应用程序与小程序之间有那些差别?
](
#7-java-应用程序与小程序之间有那些差别?
)
-
[
8. 字符型常量和字符串常量的区别
](
#8-字符型常量和字符串常量的区别
)
-
[
9. 构造器 Constructor 是否可被 override
](
#9-构造器-constructor-是否可被-override
)
-
[
10. 重载和重写的区别
](
#10-重载和重写的区别
)
-
[
11. Java 面向对象编程三大特性:封装、继承、多态
](
#11-java-面向对象编程三大特性封装、继承、多态
)
-
[
封装
](
#封装
)
-
[
继承
](
#继承
)
-
[
多态
](
#多态
)
-
[
12. String 和 StringBuffer、StringBuilder 的区别是什么?String 为什么是不可变的?
](
#12-string-和-stringbuffer、stringbuilder-的区别是什么?string-为什么是不可变的?
)
-
[
13. 自动装箱与拆箱
](
#13-自动装箱与拆箱
)
-
[
14. 在一个静态方法内调用一个非静态成员为什么是非法的?
](
#14-在一个静态方法内调用一个非静态成员为什么是非法的?
)
-
[
15. 在 Java 中定义一个不做事且没有参数的构造方法的作用
](
#15-在-java-中定义一个不做事且没有参数的构造方法的作用
)
-
[
16. import java和javax有什么区别
](
#16-import-java和javax有什么区别
)
-
[
17. 接口和抽象类的区别是什么?
](
#17-接口和抽象类的区别是什么?
)
-
[
18. 成员变量与局部变量的区别有那些?
](
#18-成员变量与局部变量的区别有那些?
)
-
[
19. 创建一个对象用什么运算符?对象实体与对象引用有何不同?
](
#19-创建一个对象用什么运算符?对象实体与对象引用有何不同?
)
-
[
20. 什么是方法的返回值?返回值在类的方法里的作用是什么?
](
#20-什么是方法的返回值?返回值在类的方法里的作用是什么?
)
-
[
21. 一个类的构造方法的作用是什么?若一个类没有声明构造方法,改程序能正确执行吗?为什么?
](
#21-一个类的构造方法的作用是什么?若一个类没有声明构造方法,改
程序能正确执行吗?为什么?
)
-
[
22. 构造方法有哪些特性?
](
#22-构造方法有哪些特性?
)
-
[
23. 静态方法和实例方法有何不同?
](
#23-静态方法和实例方法有何不同?
)
-
[
24. 对象的相等与指向他们的引用相等,两者有什么不同?
](
#24-对象的相等与指向他们的引用相等,两者有什么不同?
)
-
[
25. 在调用子类构造方法之前会先调用父类没有参数的构造方法,其目的是?
](
#25-在调用子类构造方法之前会先调用父类没有参数的构造方法,其目的是?
)
-
[
26. == 与 equals\(重要\)
](
#26--与-equals重要
)
-
[
27. hashCode 与 equals(重要)
](
#27-hashcode-与-equals(重要)
)
-
[
12. String 和 StringBuffer、StringBuilder 的区别是什么?String 为什么是不可变的?
](
#12-string-和-stringbuffer、stringbuilder-的区别是什么?string-为什么是不可变的?
)
-
[
13. 自动装箱与拆箱
](
#13-自动装箱与拆箱
)
-
[
14. 在一个静态方法内调用一个非静态成员为什么是非法的?
](
#14-在一个静态方法内调用一个非静态成员为什么是非法的?
)
-
[
15. 在 Java 中定义一个不做事且没有参数的构造方法的作用
](
#15-在-java-中定义一个不做事且没有参数的构造方法的作用
)
-
[
16. import java和javax有什么区别
](
#16-import-java和javax有什么区别
)
-
[
17. 接口和抽象类的区别是什么?
](
#17-接口和抽象类的区别是什么?
)
-
[
18. 成员变量与局部变量的区别有那些?
](
#18-成员变量与局部变量的区别有那些?
)
-
[
19. 创建一个对象用什么运算符?对象实体与对象引用有何不同?
](
#19-创建一个对象用什么运算符?对象实体与对象引用有何不同?
)
-
[
20. 什么是方法的返回值?返回值在类的方法里的作用是什么?
](
#20-什么是方法的返回值?返回值在类的方法里的作用是什么?
)
-
[
21. 一个类的构造方法的作用是什么?若一个类没有声明构造方法,该程序能正确执行吗?为什么?
](
#21-一个类的构造方法的作用是什么?若一个类没有声明构造方法,该
程序能正确执行吗?为什么?
)
-
[
22. 构造方法有哪些特性?
](
#22-构造方法有哪些特性?
)
-
[
23. 静态方法和实例方法有何不同?
](
#23-静态方法和实例方法有何不同?
)
-
[
24. 对象的相等与指向他们的引用相等,两者有什么不同?
](
#24-对象的相等与指向他们的引用相等,两者有什么不同?
)
-
[
25. 在调用子类构造方法之前会先调用父类没有参数的构造方法,其目的是?
](
#25-在调用子类构造方法之前会先调用父类没有参数的构造方法,其目的是?
)
-
[
26. == 与 equals\(重要\)
](
#26--与-equals重要
)
-
[
27. hashCode 与 equals(重要)
](
#27-hashcode-与-equals(重要)
)
-
[
hashCode()介绍
](
#hashcode()介绍
)
-
[
为什么要有 hashCode
](
#为什么要有-hashcode
)
-
[
hashCode()与equals()的相关规定
](
#hashcode()与equals()的相关规定
)
-
[
28. Java中的值传递和引用传递
](
#28-java中的值传递和引用传递
)
-
[
29. 简述线程,程序、进程的基本概念。以及他们之间关系是什么?
](
#29-简述线程,程序、进程的基本概念。以及他们之间关系是什么?
)
-
[
30. 线程有哪些基本状态?这些状态是如何定义的?
](
#30-线程有哪些基本状态?这些状态是如何定义的
)
-
[
28. Java中的值传递和引用传递
](
#28-java中的值传递和引用传递
)
-
[
29. 简述线程,程序、进程的基本概念。以及他们之间关系是什么?
](
#29-简述线程,程序、进程的基本概念。以及他们之间关系是什么?
)
-
[
30. 线程有哪些基本状态?这些状态是如何定义的?
](
#30-线程有哪些基本状态?这些状态是如何定义的
)
-
[
31 关于 final 关键字的一些总结
](
#31-关于-final-关键字的一些总结
)
-
[
Java基础学习书籍推荐
](
#java基础学习书籍推荐
)
<!-- /MarkdownTOC -->
# Java 基础知识30问
## 1. 面向对象和面向过程的区别
### 面向过程
...
...
@@ -312,7 +311,7 @@ hashCode() 的作用是获取哈希码,也称为散列码;它实际上是返
5.
hashCode() 的默认行为是对堆上的对象产生独特值。如果没有重写 hashCode(),则该 class 的两个对象无论如何都不会相等(即使这两个对象指向相同的数据)
##
#
28. Java中的值传递和引用传递
## 28. Java中的值传递和引用传递
**值传递**
是指对象被值传递,意味着传递了对象的一个副本,即使副本被改变,也不会影响源对象。(因为值传递的时候,实际上是将实参的值复制一份给形参。)
...
...
@@ -357,6 +356,13 @@ hashCode() 的作用是获取哈希码,也称为散列码;它实际上是返
到达目的地:Dead
## 31 关于 final 关键字的一些总结
final关键字主要用在三个地方:变量、方法、类。
1.
①对于一个final变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。
2.
②当用final修饰一个类时,表明这个类不能被继承。final类中的所有成员方法都会被隐式地指定为final方法。
3.
③使用final方法的原因有两个。第一个原因是把方法锁定,以防任何继承类修改它的含义;第二个原因是效率。在早期的Java实现版本中,会将final方法转为内嵌调用。但是如果方法过于庞大,可能看不到内嵌调用带来的任何性能提升(现在的Java版本已经不需要使用final方法进行这些优化了)。类中所有的private方法都隐式地指定为fianl。
# Java基础学习书籍推荐
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录