父类对象的引用 引用子类对象 和 子类对象的引用 引用子类对象 有什么区别
解决方案 »
- java画折线图问题!
- 线程类中的Condition的使用。。。立即得分。。。
- java初学提问。谢谢
- 谁有Java 2 SDK 1.4左右版本的CHM文件下载啊
- 遮蔽中的问题
- JFileChooser怎么选中根目录,比如c:\,d:\??
- 谁有installAnywhere 5.0.3 Enterprise 的Serial number?很急的?
- 请问在工作岗位的朋友!使用java开发的公司对c#的态度如何?
- 王开福来拿分ba!
- 为什么我的saveFile方法里的BufferWriter老不对
- QQ表情中像[img]2.gif[/img]中的值(如:"2.gif")怎么取?
- 问一道 测试题 帮忙啊
父类 f = new 子类();List(父类) l = new ArrayList(子类)();
l.(父类的方法)子类对象的引用 引用子类对象
子类 z = new 子类();
ArrayList a = new ArrayList();一般在容器这块 见的多
比如
}class Dog extends Animal{
}Animal a1 = new Dog();这就叫父类引用指向子类对象,指的是定义一个父类的引用,而它实际指向的是子类创建的对象,功能上相当于子类的“向上转型”而向下转型相反,需要注意的是向下转型需要强制类型转换举个例子给你:class Animal{
public void bark(){
System.out.println("It's an animal!");
}
}class Dog extends Animal{
public void bark(){
System.out.println("It's a dog!");
}
}public class Test {
public static void main(String[] args) {
Animal a1 = new Dog(); //向上转型
a1.bark();
Dog a2 =(Dog)a1; //向下转型
a2.bark();
Dog a3=(Dog)new Animal(); //向下转型,但是报错,子类引用不能指向父类对象,注意和上面的区别,上面虽然a1是父类对象,但是它指向了子类的一个对象,所以将它赋给子类对象是可以的
a3.bark();
}
}