Day11多态部分-4
package Day11;public class Test_04 {public static void main(String[] args) {Fu s1 = new Fu();zi z =new zi();System.out.println(z.num);System.out.println(s1.num);
// //show(s1);
// //show(s2);
// Fu s2 =new zi();
// s2.method1();
// s2.method2();/*成员变量的特点:编译看左边,运行看左边,成员变量不具备多态性,通过引用变量来访问其包含的实例变量,当父类,子类出现重名变量的时候,多态状态下看的是父类,因为在创建子类对象时,堆内存中其实是两个变量的,一个是父类的num,一个是子类的num,你再拿父类的引用,去找num的时候,他就找到自己的了*/}public static void show(Fu s){if(s instanceof Fu){//父类拿父类方法s.method1();s.method2();}else if(s instanceof zi){//子类拿子类方法s.method1();
// s.method3();} }
}class Fu
{int num=5;void method1(){System.out.println("Fu method_1");}void method2(){System.out.println("Fu method_2");}
}class zi extends Fu
{int num=9;void method1(){System.out.println("zi method_1");}void method3(){System.out.println("zi method_3");}
}
Day11多态部分-4相关推荐
- Day11多态部分-6 【1.4 多态的应用以及注意事项】
[1.4 多态的应用以及注意事项] 在多态中:父类指向子类对象时 成员函数的特点: 编译看左边 运行看右边 在编译时期 参阅引用型变量所属的类中是否有调用的方法 如果有,编译通过;如果没有, 编译失败 ...
- Day11多态部分-2 【1.2 多态的前提】
[1.2 多态的前提]***** 1.类与类/接口interface 存在关系, 要不就继承extends,要不就实现implements; 2.子类存在重写 3.父类引用 指向 子类对象 packa ...
- Day11多态部分-6 【1.5 多态的好处和弊端】
[1.5 多态的好处和弊端] [多态的好处] :提高了程序的扩展性 作用体现在方法的形参列表 被继承/被实现的类/接口 当做形参传递 可以接收任意子类的对象 [多态的弊端]:虽然提高了程序的扩展性 但 ...
- Day11多态部分-6 【1.3 对象的向上转型和向下转型】
[1.3 对象的向上转型和向下转型] + - 向上转型 子类对象赋值给父类类型的引用时 会自动将子类对象对应的类型 提升为父类类型 语法: 父类类型 引用 = new 子类的构造方法(); 特点: 此 ...
- Day11多态部分-5
package Day11;public class Test_05 {public static void main(String[] args) {MainBoard mb = new MainB ...
- Day11多态部分-3
package Day11; public class Test_03 { public static void main(String[] args) { // Manager m =new Man ...
- Day11多态部分-2-1
package Day11; public class Test_022 { public static void main(String[] args) { Animal1 c = new Cat1 ...
- Day11多态部分-1 【1.1 多态的体现】
[1.1 多态的体现] 多态的好处:提高了扩展性(提高代码的共用性); 1.定义:某一类事物的多种存在形态: java语言中含有[方法重载]和[对象多态]两种形式的多态 猫 x = new 猫() 动 ...
- [Java 基础]-- corejava知识汇总
-------------------CoreJava第一阶段--------------------------- day1------------------------------------- ...
最新文章
- COCO 2019挑战赛,旷视研究院拿下三项计算机识别冠军 | ICCV 2019
- anaconda的python使用教程-致Python初学者们 - Anaconda入门使用指南
- ubuntu 18.04安装米聊
- java调用js查询mongo_mongodb操作之使用javaScript实现多表关联查询
- 合工大850参考书_合肥工业大学计算机考研850上岸经验分享
- php smarty配置文件,Smarty配置文件
- 3d slicer调整窗宽窗位_3D游戏模型制作技巧,掌握这些技术你也能进鹅厂!
- HP刀片服务器系统Flex,HP刀片服务器系统Flex-10 VC配置与VMware vSphere网络设计
- 【FFmpeg视频播放器开发】解封装解码流程、常用API和结构体简介(一)
- 博奥智源汇总关于校车管理系统开发功能列表-转自博奥智源
- 对接LeetCode-完成代码提交校验
- Go语言入门到实战——14.Go语言的协程机制以及并发机制
- Windows下代码比较工具Meld diff 以及 VScode配置,解决“Meld Diff Error: Error running diff command! StdErr: ‘meld‘ �
- Linux下hmmer安装避坑必看
- 求教如何实现VB.NET控件随着窗体的放大而放大
- Unity接入高德SDK实现定位
- Linux安装ST-Link GDBServer
- 博客小白如何快捷而又优雅的写好一篇博客
- 跟我一起学Adams虚拟样机:(一) 运动学仿真基操,以一个简单的曲柄摇杆机构为例
- python优雅代码大全_10个Python技巧帮你写出更优雅的代码