多态 学习完封装和继承后,Java三大特性之一还有最后一个多态 那么多态是什么? 概念 多态字面含义就是多种表现形式 对应Java:同一操作作用于不同的类的对象,将产生不同的执行结果。 实现 向上转型 基类引用指向派生类对象 //Cat为基类 //Ragdoll为派生类 class Demo{ pu ...
分类:
编程语言 时间:
2020-07-29 15:08:33
阅读次数:
77
面向对象有三大特点:封装、继承、多态。(如果要回答四个,可加上 抽象性 这一特点) 1.继承性:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。 对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类),而原始 ...
分类:
其他好文 时间:
2020-07-26 01:11:27
阅读次数:
49
final—修饰符(关键字) 如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承。 因此一个类不能既被声明为 abstract的,又被声明为final的。将变量或方法声明为final,可以保证它们在使用中不被改变。 被声明为final的变量必须在声明时给定初值,而在以后的 ...
分类:
其他好文 时间:
2020-07-26 01:05:08
阅读次数:
64
extend 继承 私有的方法 和 构造不能继承,其他都能继承 开发原则:高内聚,内耦合 父类(超类,基类),子类(派生类(扩展类)) 当实例化子类对象时,父类对象也相应被实例化。 就近原则 抽象类不可实例化对象,正如图形类无法实例出任何一种具体图形。 抽象类中不一定要有抽象方法,方法可以有方法体。 ...
分类:
其他好文 时间:
2020-07-25 23:39:40
阅读次数:
61
1.为什么要有类的继承性?(继承性的好处) * ① 减少了代码的冗余,提高了代码的复用性 * ② 便于功能的扩展 * ③ 为之后多态性的使用,提供了前提 2.继承性的格式: class A extends B{} * A:子类、派生类、subclass * B:父类、超类、基类、superclass ...
分类:
其他好文 时间:
2020-07-24 16:31:10
阅读次数:
71
RTTI是什么 Run Time Type Identification:运行时类型识别;通过运行时类型识别,程序能够使用基类的指针或引用来检查这些指针或引用所指向的对象的实际派生类型。 Human *phuman = new Men; Human &q = *phuman; 主要是通过两个运算符来 ...
分类:
编程语言 时间:
2020-07-21 09:35:20
阅读次数:
87
一、初识继承 1,什么是继承? 继承是一种创建新类的方式,新建的类可以继承一个或多个父类(python 支持多继承),父类又可称为基类或超类,新建的类称为派生类或子类。 子类会“遗传”父类的属性,从而解决代码重用问题(比如练习中 Garen 与 Riven 类有很多冗余的代码) python 中类的 ...
分类:
其他好文 时间:
2020-07-19 13:50:40
阅读次数:
133
AQS源码解析 AQS是什么? 全称是AbstractQueuedSynchronizer,位于java.util.concurrent.locks包下面。AbstractQueuedSynchronizer是一个抽象类,其常见的派生子类有,ReentrantLock.Sync内部类。 申请锁入口方 ...
分类:
其他好文 时间:
2020-07-18 16:12:02
阅读次数:
80
1.虚函数 虚函数是在基类中使用virtual声明的函数,在派生类中重新定义基类中定义的虚函数时,会告诉编译器不要静态链接到该函数 2.c++接口(抽象类) 接口完成了类的行为和功能,而不需要完成类的待定实现。 c++接口是使用抽象类来实现的,抽象类与数据抽象互不混淆,数据抽象是一个把实现细节和相关 ...
分类:
编程语言 时间:
2020-07-17 19:34:06
阅读次数:
74