Skip to content

Commit 5e6f9d0

Browse files
committed
docs(java): 更新Java基础笔记。
更新面向对象编程笔记内容。 新增字符串处理笔记内容。
1 parent 40ec121 commit 5e6f9d0

File tree

4 files changed

+146
-92
lines changed

4 files changed

+146
-92
lines changed

docs/zh/后端/02-Java/01-Java基础/05-面向对象编程-上篇.md

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -921,6 +921,95 @@ class NewPhone extends Phone {
921921
- 子类方法覆盖父类方法,返回值类型、函数名和参数列表都要一模一样。
922922
:::
923923

924+
## 抽象类
925+
926+
Java抽象类是一种使用 abstract 关键字修饰的特殊类,它不能被实例化。抽象类的主要作用是定义一组共同特征的类结构,并被其他类继承以实现其方法。抽象类可以包含普通方法、抽象方法(无方法体)、构造方法、成员变量等,但必须至少包含一个抽象方法,否则就没有定义抽象类的必要。
927+
928+
### abstract 关键字
929+
930+
使用 `abstract` 关键字修饰方法,该方法就成了抽象方法,抽象方法只包含一个方法名,而没有方法体。
931+
932+
定义格式:
933+
934+
```java
935+
访问修饰符 abstract 返回值类型 方法名(参数列表);
936+
```
937+
938+
示例:
939+
940+
```java
941+
public abstract void show();
942+
```
943+
944+
如果一个类中包含抽象方法,那么这个类必须是抽象类,否则会报错。
945+
946+
定义格式:
947+
948+
```java
949+
abstract class 类名 {
950+
951+
}
952+
```
953+
954+
示例:
955+
956+
```java
957+
abstract class Animal {
958+
public abstract void eat();
959+
}
960+
```
961+
962+
### 抽象类的使用
963+
964+
继承抽象类的子类必须重写父类所有抽象方法。否则,该子类也必须声明位抽象类。最终,必须有子类实现该父类的抽象方法,否则,从最初的父类到最终的子类都不创建对象。
965+
966+
示例:
967+
968+
::: code-group
969+
```java [AbstractTest01]
970+
public class AbstractTest01 {
971+
public static void main(String[] args) {
972+
// 创建子类对象
973+
Cat c = new Cat();
974+
975+
// 调用run方法
976+
c.run();
977+
}
978+
}
979+
```
980+
981+
```java [Animal]
982+
// 抽象类
983+
public abstract class Animal {
984+
public abstract void run();
985+
}
986+
```
987+
988+
```java [Cat]
989+
// 子类,继承抽象类
990+
public class Cat extends Animal {
991+
992+
@Override
993+
public void run() {
994+
System.out.println("猫在跑...");
995+
}
996+
}
997+
```
998+
:::
999+
1000+
输出结果:
1001+
1002+
```text
1003+
猫在跑...
1004+
```
1005+
1006+
::: warning 注意事项
1007+
1. 抽象类不能创建对象,如果创建,编译无法通过而报错,只能创建其非抽象子类的对象。
1008+
2. 抽象类中,可以有构造方法,是供子类创建对象时,初始化父类成员使用的。
1009+
3. 抽象类中,不一定包含抽象方法,但是有抽象方法的类必定是抽象类。
1010+
4. 抽象类的子类,必须重写抽象父类中的所有抽象方法,否则,编译无法通过而报错。除非子类也是抽象类。
1011+
:::
1012+
9241013
## 参考资料
9251014

9261015
- [菜鸟教程](https://www.runoob.com)

docs/zh/后端/02-Java/01-Java基础/06-面向对象编程-下篇.md

Lines changed: 20 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -8,95 +8,6 @@ editLink: false
88

99
# 面向对象编程-下篇
1010

11-
## 抽象类
12-
13-
Java抽象类是一种使用 abstract 关键字修饰的特殊类,它不能被实例化。抽象类的主要作用是定义一组共同特征的类结构,并被其他类继承以实现其方法。抽象类可以包含普通方法、抽象方法(无方法体)、构造方法、成员变量等,但必须至少包含一个抽象方法,否则就没有定义抽象类的必要。
14-
15-
### abstract 关键字
16-
17-
使用 `abstract` 关键字修饰方法,该方法就成了抽象方法,抽象方法只包含一个方法名,而没有方法体。
18-
19-
定义格式:
20-
21-
```java
22-
访问修饰符 abstract 返回值类型 方法名(参数列表);
23-
```
24-
25-
示例:
26-
27-
```java
28-
public abstract void show();
29-
```
30-
31-
如果一个类中包含抽象方法,那么这个类必须是抽象类,否则会报错。
32-
33-
定义格式:
34-
35-
```java
36-
abstract class 类名 {
37-
38-
}
39-
```
40-
41-
示例:
42-
43-
```java
44-
abstract class Animal {
45-
public abstract void eat();
46-
}
47-
```
48-
49-
### 抽象类的使用
50-
51-
继承抽象类的子类必须重写父类所有抽象方法。否则,该子类也必须声明位抽象类。最终,必须有子类实现该父类的抽象方法,否则,从最初的父类到最终的子类都不创建对象。
52-
53-
示例:
54-
55-
::: code-group
56-
```java [AbstractTest01]
57-
public class AbstractTest01 {
58-
public static void main(String[] args) {
59-
// 创建子类对象
60-
Cat c = new Cat();
61-
62-
// 调用run方法
63-
c.run();
64-
}
65-
}
66-
```
67-
68-
```java [Animal]
69-
// 抽象类
70-
public abstract class Animal {
71-
public abstract void run();
72-
}
73-
```
74-
75-
```java [Cat]
76-
// 子类,继承抽象类
77-
public class Cat extends Animal {
78-
79-
@Override
80-
public void run() {
81-
System.out.println("猫在跑...");
82-
}
83-
}
84-
```
85-
:::
86-
87-
输出结果:
88-
89-
```text
90-
猫在跑...
91-
```
92-
93-
::: warning 注意事项
94-
1. 抽象类不能创建对象,如果创建,编译无法通过而报错,只能创建其非抽象子类的对象。
95-
2. 抽象类中,可以有构造方法,是供子类创建对象时,初始化父类成员使用的。
96-
3. 抽象类中,不一定包含抽象方法,但是有抽象方法的类必定是抽象类。
97-
4. 抽象类的子类,必须重写抽象父类中的所有抽象方法,否则,编译无法通过而报错。除非子类也是抽象类。
98-
:::
99-
10011
## 接口
10112

10213
Java接口是一种完全抽象的类型,它定义了一组方法签名(和常量),但不包含方法的具体实现。接口充当了一个契约,规定实现它的类必须提供所有方法的实现,从而允许不同类的对象通过相同的界面进行通信。接口通过 interface 关键字定义,可以实现多继承,以模拟多重继承的能力,增强了代码的灵活性、可扩展性和可维护性。
@@ -1451,6 +1362,26 @@ public class User {
14511362
14521363
## 权限修饰符
14531364

1365+
### 概述
1366+
1367+
在Java中提供了四种访问权限,使用不同的访问权限修饰符修饰时,被修饰的内容会有不同的访问权限。
1368+
1369+
| 修饰符 | 说明 |
1370+
| :---: | :--- |
1371+
| public | 公开的,任何人都可以访问 |
1372+
| private | 私有的,只有自己可以访问 |
1373+
| protected | 受保护的,子类可以访问 |
1374+
| default | 默认的,同一个包下的类可以访问 |
1375+
1376+
### 不同权限的访问能力
1377+
1378+
| | public | private | protected | default |
1379+
| :-- | :-- | :-- | :-- | :-- |
1380+
| 同一个类中 |||||
1381+
| 同一个包中(子类与无关类) |||| |
1382+
| 不同包的子类 ||| | |
1383+
| 不同包中的无关类 || | | |
1384+
14541385
::: tip 提示
14551386
文档正在更新中...
14561387
:::
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
---
2+
title: 字符串处理
3+
author: MagicGopher
4+
keywords: Java, Java基础, String, StringBuffer, StringBuilder, 字符串拼接, 字符串转换, 字符串分割, 字符串比较
5+
description: 介绍 Java 中的字符串处理,包括字符串拼接、字符串转换、字符串分割和字符串比较,以及这些概念在实际开发中的应用场景。
6+
editLink: false
7+
---
8+
9+
# 字符串处理
10+
11+
## 字符串介绍
12+
13+
Java中的字符串是不可变的,即字符串一旦创建后不能被修改,但可以通过字符串拼接和字符串转换等操作来创建新的字符串。
14+
15+
直接定义字符串是指使用双引号表示字符串中的内容,例如“Hello Java”、“Java 编程”等。具体方法是用字符串常量直接初始化一个 String 对象。
16+
17+
示例:
18+
19+
::: code-group
20+
```java [示例1]
21+
// 一行编写
22+
String str1 = "Hello Java";
23+
```
24+
25+
```java [示例2]
26+
// 多行编写
27+
String str;
28+
str = "Hello Java";
29+
```
30+
:::
31+
32+
::: tip 提示
33+
文档正在更新中...
34+
:::

docs/zh/后端/02-Java/index.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ editLink: false
1616
| 2 | [数据类型和运算符](./01-Java基础/02-数据类型和运算符.md) | 变量、常量、基本数据类型与运算符 ||
1717
| 3 | [流程控制与数组](./01-Java基础/03-流程控制与数组.md) | 控制流语句与数组的基本使用 ||
1818
| 4 | [方法](./01-Java基础/04-方法.md) | 方法的定义、调用、重载 ||
19-
| 5 | [面向对象编程-上篇](./01-Java基础/05-面向对象编程-上篇.md) | 类、对象、封装、构造方法内部类 ||
20-
| 6 | [面向对象编程-下篇](./01-Java基础/06-面向对象编程-下篇.md) | 继承、抽象类、接口、多态、final、权限 ||
21-
| 7 | [字符串处理]() | String、StringBuilder、StringBuffer操作 | |
19+
| 5 | [面向对象编程-上篇](./01-Java基础/05-面向对象编程-上篇.md) | 类、对象、封装、构造方法<br/>内部类、继承、抽象类 ||
20+
| 6 | [面向对象编程-下篇](./01-Java基础/06-面向对象编程-下篇.md) | 接口、多态、final、权限 ||
21+
| 7 | [字符串处理](./01-Java基础/07-字符串处理.md) | String、StringBuilder、StringBuffer操作 | |
2222
| 8 | [常用类]() | 常用类的使用 | |
2323
| 9 | [集合]() | List、Set等集合框架使用 | |
2424
| 10 | [Map]() | Map接口及其实现类的使用 | |

0 commit comments

Comments
 (0)