1.向上转型: 父类 引用=new 子类(); 问题:无法调用子类有而父类没有的方法 代码演示: //向上转型 public class Demo1 { public static void main(String[] args) { Person p=new Student(); //父类Pers ...
分类:
编程语言 时间:
2019-12-29 18:43:24
阅读次数:
71
继承extends java只支持单继承,但是可以间接继承别的类,默认继承Object 继承的作用:代码重用,重要的作用是:方法的覆盖override和多态机制。 多态的前提是继承 向上转型:等号右边是子类 左边是父类 向下转型:等号右边是父类 左边是子类 向上转型:父类引用指向了(等号左边)子类的 ...
分类:
其他好文 时间:
2019-12-15 01:22:07
阅读次数:
118
多态的概念:相同的行为,不同的实现 什么是静态多态?什么是动态多态? 静态多态:编译时就已经确定了结果,例如重载和重写 动态多态:运行时确定结果, 动态多态是依赖什么技术实现的? 继承 重写 向上转型(父类引用指向子类对象 动态多态的好处是什么? 减少了代码的耦合性,后期需要修改的时候只需要添加内容 ...
分类:
其他好文 时间:
2019-12-01 00:10:19
阅读次数:
109
父子间的赋值兼容子类对象可以当作父类对象使用(兼容性)-子类对象可以直接赋值为父类对象-子类对象可以直接初始化父类对象-父类指针可以直接指向子类对象-父类引用可以直接引用子类对象 当使用父类指针(引用)指向子类对象时-子类对象退化为父类对象-只能访问父类中定义的成员-可以直接访问被子类覆盖的同名成员 ...
分类:
其他好文 时间:
2019-11-30 09:28:59
阅读次数:
69
1 #include<iostream> 2 #include<string> 3 using namespace std; 4 class parent{ 5 public: 6 int mi; 7 void add(int v){ 8 mi += v; 9 } 10 void add(int a ...
分类:
其他好文 时间:
2019-11-28 23:23:41
阅读次数:
444
Java引用变量有两个类型,一个是编译时类型,还有一个是运行时类型。编译时类型是由声明该变量时使用的类型所决定,运行时类型是由该变量指向的对象类型决定如果两种类型不一致,就会出现多态,因此就会将子类对象之间赋值给父类引用变量,称为向上转型,而不用进行类型转换。如 Animal a = new Bir ...
分类:
其他好文 时间:
2019-11-05 01:01:34
阅读次数:
135
A a=new B();(B继承A) 多态就是,父类引用指向子类对象 使用a对象调用具体的方法的时候,需要先在 当前子类中查找是否有匹配的方法, 没有就 在这个对象的父类中去查找 再就查参数的父类, 即 this。show(O) super.show(O) this.show((super)O) s ...
分类:
编程语言 时间:
2019-10-31 13:23:48
阅读次数:
95
多态:一个对象有多种形态 是方法的多态,和属性无关 有继承关系、重写方法、父类引用 指向 子类对象 静态方法不支持多态 举例, 有父类Dog,属性name="dog",普通方法say,静态方法move; 子类SDog,属性name="sdog",重写了普通方法say,重写了静态方法move,另外有自 ...
分类:
编程语言 时间:
2019-10-13 18:43:14
阅读次数:
80
2.编程技巧 (1) 抽象类定义的方法在具体类要实现; (2) 使用抽象类的引用变量可引用子类的对象; (3) 通过父类引用子类对象,通过该引用访问对象方法时实际用的是子类的方法。可将所有对象存入到父类定义的数组中。 实验内容 一:实验代码 抽象类 S三角形 S矩形 S圆 测试类 二:运行截图 二) ...
分类:
其他好文 时间:
2019-10-12 22:33:32
阅读次数:
85
(一)抽象类的使用 2.编程技巧 (1) 抽象类定义的方法在具体类要实现; (2) 使用抽象类的引用变量可引用子类的对象; (3) 通过父类引用子类对象,通过该引用访问对象方法时实际用的是子类的方法。可将所有对象存入到父类定义的数组中。 1.代码源 (二)使用接口技术 1定义接口Shape,其中包括 ...
分类:
其他好文 时间:
2019-10-10 22:10:37
阅读次数:
95