日期:2014-05-20  浏览次数:20752 次

关于多态
对多态还是理解不够~求透彻解释和举下典型例子 简单和难的都举下
------解决方案--------------------
多态:简单的说就是父类型的引用指向子类型的对象。
形式 : Father father = new Son ();但是通过引用类型的变量可以调用的是子类的方法(指向谁调用谁),但是调用子类的方法时,首先要看是不是子类重写了父类的方法;如果子类重写了这个父类的方法,就可以通过父类型的引用子类的方法。
Father father = new Son();这个过程体现了类型类型的转化;
有向上类型的转化与向下类型的转化;但是向下类型的转化,必须要强制转化。例如:
Father father = new Son();
Son son =(son) father;//强制类型的转化
son.method();
在向下强制类型转换的过程中,要转换成那个子类的引用,在父类实例化时,父类的引用就要指向这个子类的对象。
如果是:Father father = new father();
Son son = (Son)father;
son.method();//如果父类的引用指向 父类的对象,再强制转化时,就会报异常 ClassCastException
多态的简单代码形式:
public class Test
{
public static void main(String [] args)
{
Father father = new Son();
Son son = (Son) father;
son.method();
}
}
class Father
{
public void method()
{
System.out.println("Father");
}
}
class Son  extends Father
{
public void method()
{
System.out.println("Son");
}
}
------解决方案--------------------
引用:
是不是在类中,定义了其他类的变量,就可以用其他类里的方法和属性?

是的,可以调用其他类!