public class Duixiang
{
public static void main(String[] args)
{
father c=new Son(); //这里是我比较模糊的地方
c.print1();
}
}
class Father
{
void print1()
{
System.out.println("father");
}
}
class Son extends Father
{
void print1()
{
System.out.println("son");
}
}
我主要对
father c=new Son(); 这个语句比较模糊
因为以前学的都是
Son c=new Son();有哪位专业人士帮解释下吗?这样用有什么好处?
父类引用指向子类对象,子类自动上溯造型到父类
在所有父类出现的地方子类均可出现
test(Father f)方法可以接受所有Father类及Father类的子类对象http://blog.csdn.net/yirentianran/archive/2008/04/25/2327349.aspx
{
public static void main(String[] args)
{
father c=new Son(); //这里是我比较模糊的地方
c.print1();
}
}
class Father
{
void print1()
{
System.out.println("father");
}
}
class Son extends Father
{
void print1()
{
System.out.println("son");
}
}楼上二位正解,是这个意思。
我也刚刚学Java,前几天刚学到这里,以我的理解我跟你讲一下,引用一楼兄弟这段话
Father c = new Son();
父类引用指向子类对象,子类自动上溯造型到父类 这是多态的一种表现方式,Son类继承于Father,当“Son”类中的void print1()方法体被改变,那么Fathor类中的void print1()方法被覆盖。在不同的场合有不同的表现形式,多态的前提是,子类的方法,父类必须出现;个人意见,仅供参考。
可以看看相关多态的知识!
大家都知道java是没有指针的,我感觉这个功能就是类似于C++指针,可以用指向父类对象的指针去调用它子类对象的方法。
因为以前学的都是
Son c=new Son(); 有哪位专业人士帮解释下吗?这样用有什么好处?多态的作用!
这是对继承类的多态,不用考虑实现方法的手段,但却都可以办成事!