From ea2e586a47bc64e32645733b0dcffddbfedb7332 Mon Sep 17 00:00:00 2001 From: wizardforcel <562826179@qq.com> Date: Tue, 26 Nov 2019 12:28:11 +0800 Subject: [PATCH] 2019-11-26 12:28:11 --- docs/16.md | 18 +++++++++--------- docs/17.md | 6 +++--- docs/18.md | 2 +- docs/19.md | 6 +++--- docs/20.md | 26 +++++++++++++------------- 5 files changed, 29 insertions(+), 29 deletions(-) diff --git a/docs/16.md b/docs/16.md index 7ba81e7..fe2df7d 100644 --- a/docs/16.md +++ b/docs/16.md @@ -14,18 +14,18 @@ Java 中的“所有类的母亲”是`Object`类。 Java 中的每个类都继 ![All Classes in the Java Platform are Descendants of Object](img/2aba758c937fce23c46327191be945c2.jpg) -Java 平台中的所有类都是对象的后代(imagesourtesy [Oracle](https://oracle.com) ) +Java 平台中的所有类都是对象的后代(图像来自 [Oracle](https://oracle.com) ) Java 具有单个继承模型,这意味着每个类都只有一个并且只有一个直接超类。 -子类继承其父级的所有 _ 公共 _ 和 _ 受保护的 _ 成员,无论该子类位于哪个包中。如果该子类与其父级位于同一包中,则它也继承 父成员的 _ 包私有 _ 成员。 您可以按原样使用继承的成员,替换它们,隐藏它们,或用新成员补充它们: +子类继承其父级的所有公共和受保护的成员,无论该子类位于哪个包中。如果该子类与其父级位于同一包中,则它也继承父成员的私有成员。 您可以按原样使用继承的成员,替换它们,隐藏它们,或用新成员补充它们: * 继承的字段可以像其他任何字段一样直接使用。 -* 您可以在子类中声明一个与超类中的名字相同的字段,因此 _ 隐藏了 _(不推荐)。 +* 您可以在子类中声明一个与超类中的名字相同的字段,因此隐藏了(不推荐)。 * 您可以在子类中声明不在超类中的新字段。 * 继承的方法可以直接使用。 -* 您可以在子类中编写一个新的 _ 实例 _ 方法,该方法具有与超类中的签名相同的签名,因此 _ 将覆盖 _。 -* 您可以在子类中编写一种新的 _ 静态 _ 方法,该方法具有与超类中的签名相同的签名,因此 _ 隐藏了 _。 +* 您可以在子类中编写一个新的实例方法,该方法具有与超类中的签名相同的签名,因此将覆盖。 +* 您可以在子类中编写一种新的静态方法,该方法具有与超类中的签名相同的签名,因此隐藏了。 * 您可以在子类中声明不在超类中的新方法。 * 您可以编写一个隐式或使用关键字`super`来调用超类的构造函数的子类构造函数。 @@ -33,7 +33,7 @@ Java 具有单个继承模型,这意味着每个类都只有一个并且只有 ## Java 继承示例 -在下面的示例中,我们创建 3 个类。 超类`Point`表示二维空间中具有 x 和 y 坐标的点。 +在下面的示例中,我们创建 3 个类。 超类`Point`表示二维空间中具有`x`和`y`坐标的点。 ```java package net.javatutorial; @@ -70,7 +70,7 @@ public class Point { ``` -`ColoredPoint`是一个子类,它扩展了`Point`的所有属性和方法,并添加了一个附加字段– `colorName`。 注意这是如何完成的–我们使用关键字**扩展**来告诉我们要从哪个类派生 +`ColoredPoint`是一个子类,它扩展了`Point`的所有属性和方法,并添加了一个附加字段 – `colorName`。 注意这是如何完成的–我们使用关键字`extends`来告诉我们要从哪个类派生 ```java package net.javatutorial; @@ -97,13 +97,13 @@ public class ColoredPoint extends Point { ``` -最后是一个测试继承的程序。 首先,我们创建一个类型为`ColoredPoint`的新`Point`。 请注意关键字 **instanceof 的用法。 这样,我们可以检查对象是否为某种类型。 一旦确定点的类型为`ColoredPoint`,就可以使用以下方法显式地进行类型转换:** +最后是一个测试继承的程序。 首先,我们创建一个类型为`ColoredPoint`的新`Point`。 请注意关键字`instanceof`的用法。 这样,我们可以检查对象是否为某种类型。 一旦确定点的类型为`ColoredPoint`,就可以使用以下方法显式地进行类型转换: ```java ColoredPoint coloredPoint = (ColoredPoint)point; ``` -现在我们可以访问新属性 colorName +现在我们可以访问新属性`colorName` ```java package net.javatutorial; diff --git a/docs/17.md b/docs/17.md index c8574dc..b990434 100644 --- a/docs/17.md +++ b/docs/17.md @@ -6,19 +6,19 @@ ## 什么是抽象 -抽象是向用户隐藏实现细节的过程。 Оnly 功能将提供给用户。 在 Java 中,使用抽象类和接口来实现抽象。 我们对 Java 接口有更详细的说明,如果您需要有关接口的更多信息,请[首先阅读本教程](https://javatutorial.net/java-interface-example)。 +抽象是向用户隐藏实现细节的过程。 只有功能将提供给用户。 在 Java 中,使用抽象类和接口来实现抽象。 我们对 Java 接口有更详细的说明,如果您需要有关接口的更多信息,请[首先阅读本教程](https://javatutorial.net/java-interface-example)。 抽象是[面向对象编程(OOP)](https://javatutorial.net/java-oop)背后的四个主要概念之一。 OOP 问题在求职面试中很常见,因此您可能会在下次 Java 求职面试中遇到有关抽象的问题。 ## Java 抽象示例 -举一个抽象的例子,我们将创建一个名为`Employee`的超类和两个子类-`Contractor`和`FullTimeEmployee`。 这两个子类都有共同的属性可以共享,例如雇员的姓名和每小时将支付给该人的金额。 承包商和全职员工之间的主要区别是-他们在公司工作的时间。 全职员工每天持续工作 8 个小时,承包商的工作时间可能会有所不同。 +举一个抽象的例子,我们将创建一个名为`Employee`的超类和两个子类 - `Contractor`和`FullTimeEmployee`。 这两个子类都有共同的属性可以共享,例如雇员的姓名和每小时将支付给该人的金额。 承包商和全职员工之间的主要区别是 - 他们在公司工作的时间。 全职员工每天持续工作 8 个小时,承包商的工作时间可能会有所不同。 ![Java abstract class example](img/7d6c855cb50cb5ae300a6e65dbb450c4.jpg) Java 抽象类示例 -首先创建超类`Employee`。 注意在类定义中**抽象**关键字的用法。 这将类标记为抽象,这意味着它不能直接实例化。 我们将称为`calculateSalary()`的方法定义为抽象方法。 这样,您可以将此方法的实现留给`Employee`类的继承者。 +首先创建超类`Employee`。 注意在类定义中`abstract`关键字的用法。 这将类标记为抽象,这意味着它不能直接实例化。 我们将称为`calculateSalary()`的方法定义为抽象方法。 这样,您可以将此方法的实现留给`Employee`类的继承者。 ```java package net.javatutorial; diff --git a/docs/18.md b/docs/18.md index 402911d..b788cea 100644 --- a/docs/18.md +++ b/docs/18.md @@ -18,7 +18,7 @@ Java 多态示例 -当我们调用 makeSound()方法时,通用动物类将输出一些抽象文本: +当我们调用`makeSound()`方法时,通用动物类将输出一些抽象文本: ```java package net.javatutorial; diff --git a/docs/19.md b/docs/19.md index 527690d..764555e 100644 --- a/docs/19.md +++ b/docs/19.md @@ -4,13 +4,13 @@ 本文通过示例演示了 Java 中方法重载和方法覆盖之间的区别 -**方法重载**和**方法重载**都是在各种 Java 实现中高度使用的 OOP(面向对象编程)概念。 在本文中,我们已经写了关于[OPT]的 [4 个主要概念的文章。 如果您不熟悉 OOP,请先查看此文章。](https://javatutorial.net/java-oop) +**方法重载**和**方法覆盖**都是在各种 Java 实现中高度使用的 OOP(面向对象编程)概念。 在本文中,我们已经写了关于 OOP 的 4 个主要概念的文章。 如果您不熟悉 OOP,请先查看[此文章](https://javatutorial.net/java-oop)。 方法重载与方法重载是一个常见的 Java 工作面试问题。 去面试,我们不能不知道有什么区别。 ## 什么是方法重载? -如下面的示例所示,方法重载使我们能够使用**相同名称,相同或不同返回类型**的多个方法。 方法重载的重要之处在于,对于同一个返回类型,所有这些方法必须具有**不同的参数。 通常的做法是保留参数最多的方法的实现,而其他方法(参数较少的)仅重定向到“ big”方法,为缺少的参数提供默认值,如下所示:** +如下面的示例所示,方法重载使我们能够使用**相同名称,相同或不同返回类型**的多个方法。 方法重载的重要之处在于,对于同一个返回类型,所有这些方法必须具有**不同的参数**。 通常的做法是保留参数最多的方法的实现,而其他方法(参数较少的)仅重定向到较多方法,为缺少的参数提供默认值,如下所示: ```java public int calculate(int data[]) { @@ -104,4 +104,4 @@ public class Dog extends Animal{ } ``` -请注意@Override 注释的用法。 这不是强制性的,但是最好对被覆盖的方法进行注释,以提高代码的可读性。 \ No newline at end of file +请注意`@Override`注释的用法。 这不是强制性的,但是最好对被覆盖的方法进行注释,以提高代码的可读性。 \ No newline at end of file diff --git a/docs/20.md b/docs/20.md index 50399e1..7785f46 100644 --- a/docs/20.md +++ b/docs/20.md @@ -6,7 +6,7 @@ Java 中的控制流语句允许您在满足特殊条件时运行或跳过代码 ## `if`语句 -Java 中的``if''语句的工作原理与大多数编程语言完全相同。 借助“如果”,您可以选择在满足预定义条件时执行特定的代码块。 Java 中“ if”语句的结构如下所示: +Java 中的`if`语句的工作原理与大多数编程语言完全相同。 借助`if`,您可以选择在满足预定义条件时执行特定的代码块。 Java 中`if`语句的结构如下所示: ```java if (condition) { @@ -14,7 +14,7 @@ if (condition) { } ``` -条件是布尔值。 布尔值意味着它可以是 true 或 false。 例如,您可以将数学方程式作为条件。 看这个完整的例子: +条件是布尔值。 布尔值意味着它可以是`true`或`false`。 例如,您可以将数学方程式作为条件。 看这个完整的例子: ```java public class FlowControlExample { @@ -36,23 +36,23 @@ Peter is 2 years old Peter is a baby ``` -在上面的示例中,我们检查年龄是否小于 4。将年龄设置为 2,布尔条件 2 < 4 为 true,结果我们打印“ Peter is a baby”。 如果我们将年龄更改为大于 3 的任何值,则该块中的代码将不再执行,并且不会打印“彼得是婴儿”。 +在上面的示例中,我们检查年龄是否小于 4。将年龄设置为 2,布尔条件`2 < 4`为`true`,结果我们打印`"Peter is a baby"`。 如果我们将年龄更改为大于 3 的任何值,则该块中的代码将不再执行,并且不会打印`"Peter is a baby"`。 ## Java 中的比较运算符 使用此运算符创建布尔结果 -<小于 +`<`小于 -< =小于或等于 +`<=`小于或等于 ->大于 +`>`大于 -> =大于或等于 +`>=`大于或等于 -==等于 +`==`等于 -!=等于 +`!=`不等于 ## Java 中的条件运算符 @@ -105,9 +105,9 @@ Peter is 10 years old Peter is not a baby anymore ``` -因为我们给年龄的值大于 3,所以执行 else 语句 +因为我们给年龄的值大于 3,所以执行`else`语句 -我将再展示一个带有“ if else”语句和条件运算符的示例 +我将再展示一个带有`if else`语句和条件运算符的示例 ```java public class FlowControlExample { @@ -132,7 +132,7 @@ public class FlowControlExample { ## `switch`语句 -在某些情况下,您可以避免在代码中使用多个 if-s 并使代码看起来更好。 为此,可以使用 switch 语句。 看下面的 java `switch`示例 +在某些情况下,您可以避免在代码中使用多个 if-s 并使代码看起来更好。 为此,可以使用`switch`语句。 看下面的 java `switch`示例 ```java public class SwitchExample { @@ -156,6 +156,6 @@ public class SwitchExample { } ``` -`switch`有一把钥匙和一个或多个箱子。 在我们的示例中,键为 numOfAngles ,当我们将 3、4 和 5 用作 switch 语句的值时,我们处理停止点。 如果我们传递的值不同于 3、4 或 5 ,则默认执行。 另请注意,在每种情况下,中断。 如果我们不包括 break,则程序将运行到下一种情况。 例如,如果我们删除情况 3 的中断,则在上面的示例中将执行情况 3 和情况 4。 +`switch`有一把键和一个或多个情况。 在我们的示例中,键为`numOfAngles`,当我们将 3、4 和 5 用作`switch`语句的值时,我们处理停止点。 如果我们传递的值不同于 3、4 或 5 ,则默认执行。 另请注意,在每种情况下,中断。 如果我们不包括`break`,则程序将运行到下一种情况。 例如,如果我们删除情况 3 的中断,则在上面的示例中将执行情况 3 和情况 4。 在我的下一个教程 [Java 循环](http://javatutorial.net/java-loops "Java Loops")中,我将解释如何在 Java 中使用循环。 \ No newline at end of file -- GitLab