1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-16 18:10:13 +08:00

《Java基础知识》补充两个知识点

This commit is contained in:
yazhouasu 2020-05-20 12:02:07 +08:00
parent b397f38ad1
commit 03bf76ee59
2 changed files with 16 additions and 12 deletions

View File

@ -139,7 +139,17 @@ Java中的注释有三种单行注释、多行注释和文档注释。在我
在写代码的过程中常见的一种情况是需要某个整数类型变量增加1或减少1Java提供了一种特殊的运算符用于这种表达式叫做自增运算符++)和自减运算符(--)。++和--运算符可以放在操作数之前,也可以放在操作数之后,当运算符放在操作数之前时,先自增/减,再赋值;当运算符放在操作数之后时,先赋值,再自增/减。例如当“b=++a”时先自增自己增加1再赋值赋值给b当“b=a++”时,先赋值(赋值给b)再自增自己增加1。也就是++a输出的是a+1的值a++输出的是a值。用一句口诀就是“符号在前就先加/减,符号在后就后加/减”。 在写代码的过程中常见的一种情况是需要某个整数类型变量增加1或减少1Java提供了一种特殊的运算符用于这种表达式叫做自增运算符++)和自减运算符(--)。++和--运算符可以放在操作数之前,也可以放在操作数之后,当运算符放在操作数之前时,先自增/减,再赋值;当运算符放在操作数之后时,先赋值,再自增/减。例如当“b=++a”时先自增自己增加1再赋值赋值给b当“b=a++”时,先赋值(赋值给b)再自增自己增加1。也就是++a输出的是a+1的值a++输出的是a值。用一句口诀就是“符号在前就先加/减,符号在后就后加/减”。
### 1.3 Java流程控制 ### 1.3 Java流程控制
#### 1.3.1 continue、break、和return的区别是什么
在循环结构中,当循环条件不满足或者循环次数达到要求时,循环会正常结束。但是,有时候可能需要在循环的过程中,当发生了某种条件之后 ,提前终止循环,这就需要用到跳转语句。
continue跳转语句是指跳出当前的这一次循环继续下一次循环。
break跳转语句是指跳出整个循环体继续执行循环下面的语句。
return跳转语句是指跳出所在方法结束该方法的运行。
### 1.4 数组 ### 1.4 数组
### 1.5 方法(函数) ### 1.5 方法(函数)
#### 1.5.1 什么是方法的返回值?返回值在类的方法里的作用是什么? #### 1.5.1 什么是方法的返回值?返回值在类的方法里的作用是什么?
@ -356,14 +366,6 @@ public class Student {
详见笔主的这篇文章: https://snailclimb.gitee.io/javaguide/#/docs/java/basic/final,static,this,super 详见笔主的这篇文章: https://snailclimb.gitee.io/javaguide/#/docs/java/basic/final,static,this,super
#### 2.3.4 关于 final 关键字的一些总结
final 关键字主要用在三个地方:变量、方法、类。
1. 对于一个 final 变量,如果是基本数据类型的变量,则其数值一旦在初始化之后便不能更改;如果是引用类型的变量,则在对其初始化之后便不能再让其指向另一个对象。
2. 当用 final 修饰一个类时表明这个类不能被继承。final 类中的所有成员方法都会被隐式地指定为 final 方法。
3. 使用 final 方法的原因有两个。第一个原因是把方法锁定,以防任何继承类修改它的含义;第二个原因是效率。在早期的 Java 实现版本中,会将 final 方法转为内嵌调用。但是如果方法过于庞大,可能看不到内嵌调用带来的任何性能提升(现在的 Java 版本已经不需要使用 final 方法进行这些优化了)。类中所有的 private 方法都隐式地指定为 final。
### 2.4 接口 ### 2.4 接口
#### 2.4.1 接口和抽象类的区别是什么? #### 2.4.1 接口和抽象类的区别是什么?

View File

@ -23,13 +23,15 @@
## final 关键字 ## final 关键字
**final关键字主要用在三个地方:变量、方法、类。** **final关键字,意思是最终的、不可修改的,最见不得变化 ,用来修饰类、方法和变量,具有以下特点:**
1. **对于一个final变量如果是基本数据类型的变量则其数值一旦在初始化之后便不能更改如果是引用类型的变量则在对其初始化之后便不能再让其指向另一个对象。** 1. **final修饰的类不能被继承final类中的所有成员方法都会被隐式的指定为final方法**
2. **当用final修饰一个类时表明这个类不能被继承。final类中的所有成员方法都会被隐式地指定为final方法。** 2. **final修饰的方法不能被重写**
3. 使用final方法的原因有两个。第一个原因是把方法锁定以防任何继承类修改它的含义第二个原因是效率。在早期的Java实现版本中会将final方法转为内嵌调用。但是如果方法过于庞大可能看不到内嵌调用带来的任何性能提升现在的Java版本已经不需要使用final方法进行这些优化了。类中所有的private方法都隐式地指定为final。 3. **final修饰的变量是常量如果是基本数据类型的变量则其数值一旦在初始化之后便不能更改如果是引用类型的变量则在对其初始化之后便不能让其指向另一个对象。**
说明使用final方法的原因有两个。第一个原因是把方法锁定以防任何继承类修改它的含义第二个原因是效率。在早期的Java实现版本中会将final方法转为内嵌调用。但是如果方法过于庞大可能看不到内嵌调用带来的任何性能提升现在的Java版本已经不需要使用final方法进行这些优化了。类中所有的private方法都隐式地指定为final。
## static 关键字 ## static 关键字