diff --git "a/docs/java/Java\345\237\272\347\241\200\347\237\245\350\257\206.md" "b/docs/java/Java\345\237\272\347\241\200\347\237\245\350\257\206.md" index 4772055da332032575387066fd6c87be4600f728..7cf0072edd5c5382e65723563a2742588c6ee91b 100644 --- "a/docs/java/Java\345\237\272\347\241\200\347\237\245\350\257\206.md" +++ "b/docs/java/Java\345\237\272\347\241\200\347\237\245\350\257\206.md" @@ -139,7 +139,17 @@ Java中的注释有三种:单行注释、多行注释和文档注释。在我 在写代码的过程中,常见的一种情况是需要某个整数类型变量增加1或减少1,Java提供了一种特殊的运算符,用于这种表达式,叫做自增运算符(++)和自减运算符(--)。++和--运算符可以放在操作数之前,也可以放在操作数之后,当运算符放在操作数之前时,先自增/减,再赋值;当运算符放在操作数之后时,先赋值,再自增/减。例如,当“b=++a”时,先自增(自己增加1),再赋值(赋值给b);当“b=a++”时,先赋值(赋值给b),再自增(自己增加1)。也就是,++a输出的是a+1的值,a++输出的是a值。用一句口诀就是:“符号在前就先加/减,符号在后就后加/减”。 ### 1.3 Java流程控制 +#### 1.3.1 continue、break、和return的区别是什么? +在循环结构中,当循环条件不满足或者循环次数达到要求时,循环会正常结束。但是,有时候可能需要在循环的过程中,当发生了某种条件之后 ,提前终止循环,这就需要用到跳转语句。 + +continue跳转语句:是指跳出当前的这一次循环,继续下一次循环。 + +break跳转语句:是指跳出整个循环体,继续执行循环下面的语句。 + +return跳转语句:是指跳出所在方法,结束该方法的运行。 + ### 1.4 数组 + ### 1.5 方法(函数) #### 1.5.1 什么是方法的返回值?返回值在类的方法里的作用是什么? @@ -356,14 +366,6 @@ public class Student { 详见笔主的这篇文章: 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.1 接口和抽象类的区别是什么? diff --git a/docs/java/basic/final,static,this,super.md b/docs/java/basic/final,static,this,super.md index e93e3975961d710094654ff1bbba6702bf8656b6..d6dc8ab8eb79974c0e08f77164895e278b5a9672 100644 --- a/docs/java/basic/final,static,this,super.md +++ b/docs/java/basic/final,static,this,super.md @@ -23,13 +23,15 @@ ## 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 关键字