Java多态:upcast和downcast
生活随笔
收集整理的這篇文章主要介紹了
Java多态:upcast和downcast
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
upcast例:
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()}");
}
}
總結
以上是生活随笔為你收集整理的Java多态:upcast和downcast的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux禁止切换到root,linux
- 下一篇: linux 子域dns,linux下搭建