求指导!谢谢
刚刚才网上别人的博客里看到了一个关于JAVA多态原理实现的例子,在参阅了实例代码后仍有很多不明白的地方。请高手给予讲解。其中有些是关于C++的知识,可以略过。代码如下:public class Zoo
{
public static void main(String[] args)
{
Pet p1 = new Dog();
Pet p2 = new Dog();
p1.say(); //首先解析一次,得到偏移量,调用方法
p2.say(); //不用解析,直接使用上次的得到的偏移量,调用
Cute c1 = new Dog();
Cute c2 = new Dog();
c1.cute(); //这里使用接口来调用实例方法,首先同样会解析一次,得到偏移量,调用相应方法
c2.cute(); //这里虽然上次已经解析过了,但是还是得重新跟上次一样重新解析一次,得到偏移量,调用
}
}
inte易做图ce Cute
{
public void cute();
}
class Pet
{
public void say(){ System.out.println("Pet say"); }
}
class Dog extends Pet implements Cute
{
public void cute(){ System.out.println("Dog cute"); }
public void say(){ System.out.println("Dog say"); }
}
class Cat implements Cute
{
public void cute(){ System.out.println("Cat cute"); }
}
原文来源:http://blog.sina.com.cn/s/blog_4de067e40100ma22.html
其中 Cute c1 = new Dog();
Cute c2 = new Dog();
两句起什么作用?
多谢帮助~~~~ --------------------编程问答-------------------- 你还是百度吧,这样的教程很多。 --------------------编程问答-------------------- 这个继承了太多的接口等,不过程序格式相当完美 --------------------编程问答-------------------- 多态体现方式:
父类 a = new 子类();
a.方法();//具体是调用谁的方法,以a所指向的对象的实际类型决定,
个人理解,呵呵
补充:Java , Java相关