Skip to content

Commit 2b69308

Browse files
committed
OOP
1 parent 31d3cca commit 2b69308

2 files changed

Lines changed: 13 additions & 8 deletions

File tree

‎README.md‎

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,3 @@
2727
- 安全
2828

2929

30-
该手册内容基本上来源于网络资源,特别是:
31-
32-
- 《葵花宝典》
33-
- [Java-Interview](https://github.com/crossoverJie/Java-Interview)
34-
- [《后端架构师技术图谱》](https://github.com/xingshaocheng/architect-awesome)
35-
- [Java-interview-questions](https://github.com/Homiss/Java-interview-questions)

‎java-basic/oop.md‎

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
>
2929
> 2). 对象造型(用父类型引用引用子类型对象,这样同样的引用调用同样的方法就会根据子类对象的不同而表现出不同的行为)。
3030
31-
## 什么是类?
31+
## 什么是类
3232

3333
类是具有相同属性和方法的一组对象的集合,它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和方法两个主要部分。在面向对象的编程语言中,类是一个独立的程序单位,它应该有一个类名并包括属性和方法两个主要部分。
3434

@@ -84,4 +84,15 @@ Java中的类实现包括两个部分:类声明和类体。
8484

8585
## 抽象类和接口有什么区别
8686

87-
抽象类和接口都不能够实例化,但可以定义抽象类和接口类型的引用。一个类如果继承了某个抽象类或者实现了某个接口都需要对其中的抽象方法全部进行实现,否则该类仍然需要被声明为抽象类。接口比抽象类更加抽象,因为抽象类中可以定义构造器,可以有抽象方法和具体方法,而接口中不能定义构造器而且其中的方法全部都是抽象方法。抽象类中的成员可以是private、默认、protected、public的,而接口中的成员全都是public的。抽象类中可以定义成员变量,而接口中定义的成员变量实际上都是常量。有抽象方法的类必须被声明为抽象类,而抽象类未必要有抽象方法。
87+
抽象类和接口都不能够实例化,但可以定义抽象类和接口类型的引用。一个类如果继承了某个抽象类或者实现了某个接口都需要对其中的抽象方法全部进行实现,否则该类仍然需要被声明为抽象类。接口比抽象类更加抽象,因为抽象类中可以定义构造器,可以有抽象方法和具体方法,而接口中不能定义构造器而且其中的方法全部都是抽象方法。抽象类中的成员可以是private、默认、protected、public的,而接口中的成员全都是public的。抽象类中可以定义成员变量,而接口中定义的成员变量实际上都是常量。有抽象方法的类必须被声明为抽象类,而抽象类未必要有抽象方法。
88+
89+
## 访问修饰符public,private,protected,以及不写(默认)时的区别
90+
91+
| 修饰符 | 当前类 | 同包 | 子类 | 其他包 |
92+
| :---: | :---: | :---: | :---: | :---: |
93+
| public | √ | √ | √ | √ |
94+
| protected | √ | √ | √ | × |
95+
| default | √ | √ | × | × |
96+
| private | √| × | × | × |
97+
98+
类的成员不写访问修饰时默认为default。默认对于同一个包中的其他类相当于公开(public),对于不是同一个包中的其他类相当于私有(private)。受保护(protected)对子类相当于公开,对不是同一包中的没有父子关系的类相当于私有。Java中,外部类的修饰符只能是public或默认,类的成员(包括内部类)的修饰符可以是以上四种。

0 commit comments

Comments
 (0)