diff --git a/docs/chatgpt.md b/docs/chatgpt.md index 6178fd39..0becebab 100644 --- a/docs/chatgpt.md +++ b/docs/chatgpt.md @@ -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) \ No newline at end of file +- [Comprehensive Cheatsheet](https://github.com/bg-write/chatGPT-cheatsheet) diff --git a/docs/dotnet-cli.md b/docs/dotnet-cli.md index bd668507..f7b39797 100644 --- a/docs/dotnet-cli.md +++ b/docs/dotnet-cli.md @@ -118,7 +118,6 @@ dotnet ./build_output/my_app.dll | `tool search` | 搜索 NuGet 上可用的工具 | `dotnet tool search dotnet-ef` | - 另请参阅 --- diff --git a/docs/git.md b/docs/git.md index 3cffe503..626af63b 100644 --- a/docs/git.md +++ b/docs/git.md @@ -1287,7 +1287,6 @@ Conventional Commmits | `test:` | 添加测试代码或修正已有的测试 | - 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不冲突的代码,同时保留冲突部分 diff --git a/docs/java.md b/docs/java.md index 26781765..89ecb9c6 100644 --- a/docs/java.md +++ b/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 多线程 --- diff --git a/docs/mysql.md b/docs/mysql.md index e206504e..864315a9 100644 --- a/docs/mysql.md +++ b/docs/mysql.md @@ -222,7 +222,6 @@ mysql -h remote_host -u user -p db_name < db_backup.sql ``` - ### 错误处理(Error Handling) diff --git a/docs/pip.md b/docs/pip.md index 0128a046..89ebd97a 100644 --- a/docs/pip.md +++ b/docs/pip.md @@ -10,7 +10,7 @@ pip 备忘清单 命令 | 说明 -:- | :- +:- | :- `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` | 升级包到最新版本 ### 依赖文件操作 命令 | 说明 -:- | :- +:- | :- `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` | 永久设置默认镜像 - 另见 --- diff --git a/docs/zed.md b/docs/zed.md index b091afa4..fed63de2 100644 --- a/docs/zed.md +++ b/docs/zed.md @@ -95,4 +95,4 @@ Zed 文本编辑器中 50 个快捷键的视觉备忘单 - [Zed](https://zed.dev/) - [Zed GitHub](https://github.com/zed-industries/zed) -- [Zed 文档](https://zed.dev/docs) \ No newline at end of file +- [Zed 文档](https://zed.dev/docs)