Java多态:upcast和downcast
2015-06-07 17:26
555 查看
upcast例:
downcast例:
public class Test { public static void main(String[] args) { Cup aCup = new BrokenCup(); aCup.addWater(10); // method binding } } class Cup { public void addWater(int w) { this.water = this.water + w; } public void drinkWater(int w) { this.water = this.water - w; } private int water = 0; } class BrokenCup extends Cup { public void addWater(int w) { System.out.println("shit, broken cup"); } public void drinkWater(int w) { System.out.println("om...num..., no water inside"); } }
downcast例:
public class TestJavaDemo{ public static void main(String[] args) { Person p=new Student(); Student s=(Student)p; s.fun1(); s.fun2(); } } class Person{ public void fun1(){ System.out.println("1.Person{fun1()}"); } public void fun2(){ System.out.println("2.Person{fun2()}"); } } class Student extends Person{ public void fun1(){ System.out.println("3.Student{fun1()}"); } public void fun3(){ System.out.println("4.Student{fun3()}"); } }
相关文章推荐
- Eclipse下安装Scala2.10.4插件
- Java Note - Controlling Execution
- Java for LeetCode 200 Number of Islands
- 毕向东day01笔记--dos-jdk-jre-环境变量等
- 关于MyEclipse的工程前面的红色感叹号的问题
- java类初始化顺序
- Java for LeetCode 199 Binary Tree Right Side View
- eclipse快捷键设置问题
- Java安全之数字证书
- JavaWeb学习总结(五十)——文件上传和下载
- JAVA IO流
- HDU-1039-Easier Done Than Said?(Java && 没用正则表达式是我的遗憾.....)
- 栈的应用1——判断java语句是否合法
- java重写equals方法需要注意的几点
- 【struts】struts初始化主线
- HotSpotVM的Java堆实现浅析#1:初始化
- 二叉查找树的查找、插入和删除 - Java实现
- 【JAVA进阶】——myEclipse连接mysql启动数据库服务
- eclipse使用笔记
- 跟择善老师系统学习JAVA(一)