mirror of
https://github.com/jaywcjlove/reference.git
synced 2025-06-16 04:01:21 +08:00
docs: fix formatting and add Java OOP content in docs (#970)
This commit is contained in:
@ -616,4 +616,4 @@ Facebook 受众建议
|
||||
- [Awesome ChatGPT Prompts](https://github.com/f/awesome-chatgpt-prompts)
|
||||
- [原始资料](https://github.com/Fechin/reference/blob/main/source/_posts/chatgpt.md)
|
||||
- [ChatGPT](https://chatgpt.com/)
|
||||
- [Comprehensive Cheatsheet](https://github.com/bg-write/chatGPT-cheatsheet)
|
||||
- [Comprehensive Cheatsheet](https://github.com/bg-write/chatGPT-cheatsheet)
|
||||
|
@ -118,7 +118,6 @@ dotnet ./build_output/my_app.dll
|
||||
| `tool search` | 搜索 NuGet 上可用的工具 | `dotnet tool search dotnet-ef` |
|
||||
<!--rehype:className=left-align-->
|
||||
|
||||
|
||||
另请参阅
|
||||
---
|
||||
|
||||
|
@ -1287,7 +1287,6 @@ Conventional Commmits
|
||||
| `test:` | 添加测试代码或修正已有的测试 |
|
||||
<!--rehype:className=left-align-->
|
||||
|
||||
|
||||
patch 补丁的使用
|
||||
----
|
||||
|
||||
@ -1299,21 +1298,21 @@ $ git diff commit_id > my.patch
|
||||
|
||||
### 简单应用
|
||||
|
||||
- **检查**补丁
|
||||
- **检查**补丁
|
||||
|
||||
```bash
|
||||
# 检查下这个补丁能否被正常应用
|
||||
$ git apply --check path/to/my.patch
|
||||
```
|
||||
|
||||
- **使用**补丁
|
||||
|
||||
- **使用**补丁
|
||||
|
||||
```
|
||||
# 检查通过使用该补丁
|
||||
$ git apply < path/to/my.patch
|
||||
```
|
||||
|
||||
- 若有冲突则**解决**
|
||||
- 若有冲突则**解决**
|
||||
|
||||
```
|
||||
# 检查不通过可以自动合入patch不冲突的代码,同时保留冲突部分
|
||||
|
165
docs/java.md
165
docs/java.md
@ -587,6 +587,171 @@ for (int i = 0; i < 5; i++) {
|
||||
// 输出: 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 多线程
|
||||
---
|
||||
|
||||
|
@ -222,7 +222,6 @@ mysql -h remote_host -u user -p db_name < db_backup.sql
|
||||
```
|
||||
<!--rehype:className=wrap-text -->
|
||||
|
||||
|
||||
### 错误处理(Error Handling)
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
|
||||
|
15
docs/pip.md
15
docs/pip.md
@ -10,7 +10,7 @@ pip 备忘清单
|
||||
<!--rehype:wrap-class=col-span-2-->
|
||||
|
||||
命令 | 说明
|
||||
:- | :-
|
||||
:- | :-
|
||||
`pip install package_name` | 安装指定的包
|
||||
`pip install requests-2.22.0-py2.py3-none-any.whl` | 从本地的 wheel 文件安装包
|
||||
`pip install git+https://github.com/psf/requests.git` | 从 Git 仓库安装包
|
||||
@ -24,17 +24,17 @@ pip 备忘清单
|
||||
### 版本控制
|
||||
|
||||
命令 | 说明
|
||||
:- | :-
|
||||
`pip install package==1.2.3` | 安装指定版本
|
||||
:- | :-
|
||||
`pip install package==1.2.3` | 安装指定版本
|
||||
`pip install "package>=1.0,<2.0"` | 安装满足条件的版本
|
||||
`pip install package!=2.21.0` | 安装包,但排除某个特定版本
|
||||
`pip install --upgrade package` | 升级包到最新版本
|
||||
`pip install --upgrade package` | 升级包到最新版本
|
||||
<!--rehype:className=style-list-->
|
||||
|
||||
### 依赖文件操作
|
||||
|
||||
命令 | 说明
|
||||
:- | :-
|
||||
:- | :-
|
||||
`pip freeze` | 导出当前环境的所有包及版本
|
||||
`pip freeze > requirements.txt` | 保存依赖列表到文件
|
||||
`pip install -r requirements.txt` | 从文件安装依赖
|
||||
@ -43,7 +43,7 @@ pip 备忘清单
|
||||
### 高级选项
|
||||
|
||||
命令 | 说明
|
||||
:- | :-
|
||||
:- | :-
|
||||
`pip install .` | 安装当前目录中的包(`setup.py` 或 `pyproject.toml`)
|
||||
`pip install -e .` | 安装当前项目为可编辑模式(开发用)
|
||||
`pip cache dir` | 查看 pip 缓存目录
|
||||
@ -54,13 +54,12 @@ pip 备忘清单
|
||||
### 使用镜像源
|
||||
|
||||
命令 | 说明
|
||||
:- | :-
|
||||
:- | :-
|
||||
`pip install -i https://pypi.org/simple package` | 使用官方源安装
|
||||
`pip install -i https://pypi.tuna.tsinghua.edu.cn/simple package` | 使用清华镜像安装
|
||||
`pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple` | 永久设置默认镜像
|
||||
<!--rehype:className=style-list-->
|
||||
|
||||
|
||||
另见
|
||||
---
|
||||
|
||||
|
@ -95,4 +95,4 @@ Zed 文本编辑器中 50 个快捷键的视觉备忘单
|
||||
|
||||
- [Zed](https://zed.dev/)
|
||||
- [Zed GitHub](https://github.com/zed-industries/zed)
|
||||
- [Zed 文档](https://zed.dev/docs)
|
||||
- [Zed 文档](https://zed.dev/docs)
|
||||
|
Reference in New Issue
Block a user