docs: fix formatting and add Java OOP content in docs (#970)

This commit is contained in:
zine yu
2025-06-04 21:39:01 +08:00
committed by GitHub
parent 43effcf0cb
commit 13ce84c95a
7 changed files with 178 additions and 17 deletions

View File

@ -118,7 +118,6 @@ dotnet ./build_output/my_app.dll
| `tool search` | 搜索 NuGet 上可用的工具 | `dotnet tool search dotnet-ef` | | `tool search` | 搜索 NuGet 上可用的工具 | `dotnet tool search dotnet-ef` |
<!--rehype:className=left-align--> <!--rehype:className=left-align-->
另请参阅 另请参阅
--- ---

View File

@ -1287,7 +1287,6 @@ Conventional Commmits
| `test:` | 添加测试代码或修正已有的测试 | | `test:` | 添加测试代码或修正已有的测试 |
<!--rehype:className=left-align--> <!--rehype:className=left-align-->
patch 补丁的使用 patch 补丁的使用
---- ----

View File

@ -587,6 +587,171 @@ for (int i = 0; i < 5; i++) {
// 输出: 0123 // 输出: 0123
``` ```
Java 面向对象
---
### 类的定义
```java
public class Dog {
private String name;
// 构造方法无无返回值,方法名与类名相同
// 一个类可以有多个构造方法
//Java 默认提供一个构造方法
public Dog() {
}
public Dog(String name) {
this.name = name;
}
}
```
### 类中的变量
```java
public class Dog {
// 成员变量
private String name;
// 类变量
// 多对象将会共享同一个类变量
static int val = 10;
public void Say() {
// 局部变量
String sentence = "hello";
System.out.Println(sentence);
}
}
```
### 对象的创建
```java
Dog myDog = new Dog(); // 调用无参构造函数
Dog myDog2 = new Dog("aaa"); // 调用对应参数列表的构造函数
// 调用方法
myDog.Say();
```
### 对象的继承
```java
public Animal() {
public String name;
public Animal(String name) {
this.name = name;
}
public void eat() {
System.out.Println("eat something");
}
}
// Dog类继承Animal类
public Dog extends Animal(){
// 调用父类的构造函数
public Dog(String name){
super(name);
}
}
```
请注意Java不支持多继承只能够单继承但支持多重继承
即,一个类最多只有一个父类,但可以有爷爷类和太爷爷类
#### Java继承的特点
- 子类拥有父类的非private的属性、方法
- 子类可以有自己的属性、方法
- 子类可以重写父类的方法
#### super 与 this
super引用当前类的父类
this引用自身
```java
class Animal {
void eat() {
System.out.println("animal : eat");
}
}
class Dog extends Animal {
void eat() {
System.out.println("dog : eat");
}
void eatTest() {
this.eat(); // this 调用自己的方法
super.eat(); // super 调用父类方法
}
}
```
#### final 关键字
被final 关键字修饰的类不能够被继承
被final 关键字修饰的方法不能被子类重写
### Java的重写(Override)与重载(Overload)
#### 重写(Override)
重写者位于被重写者的子类中
重写者的签名必须与被重写者的签名相同
```java
class Animal {
// 被重写者
void Say(String sentence) {
System.out.println("Animal say: " + sentence);
}
}
class Dog extends Animal {
// 重写者
// 重写者位于被重写者的子类
void Say(String sentence) { // 签名与被重写者相同
System.out.println("Dog say: " + sentence);
}
}
```
#### 重载(Overload)
重载位于同一类内部
签名必须不同
```java
public class Overloading {
public int test(){
System.out.println("test1");
return 1;
}
public void test(int a) {
System.out.println("test2");
}
//以下两个参数类型顺序不同
public String test(int a,String s){
System.out.println("test3");
return "returntest3";
}
public String test(String s,int a){
System.out.println("test4");
return "returntest4";
}
}
```
Java 多线程 Java 多线程
--- ---

View File

@ -222,7 +222,6 @@ mysql -h remote_host -u user -p db_name < db_backup.sql
``` ```
<!--rehype:className=wrap-text --> <!--rehype:className=wrap-text -->
### 错误处理Error Handling ### 错误处理Error Handling
<!--rehype:wrap-class=col-span-2--> <!--rehype:wrap-class=col-span-2-->

View File

@ -60,7 +60,6 @@ pip 备忘清单
`pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple` | 永久设置默认镜像 `pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple` | 永久设置默认镜像
<!--rehype:className=style-list--> <!--rehype:className=style-list-->
另见 另见
--- ---