怎么理解JAVA里的上转型对象
发布网友
发布时间:2024-02-18 15:51
我来回答
共4个回答
热心网友
时间:2024-07-01 14:29
假设,B是A的子类或者间接子类,当我们用子类B来创建一个对象,并把这个对象的引用放到类A申明的对象中时,如: A a; B b =new B(); a=b; 那么,就称对象a是子类对象b的上转型对象(好比说“老虎是哺乳动物”)。
对象的上转型对象的实体是子类负责创建的,但上转型对象会失去原对象的一些属性和功能。
可以这样来简单地理解上转型对象:上转型度对象不是父类创建的对象,而是子类对象的“简化”形态,它不关心子类新增的功能,只关心子类继承和重写的功能。
热心网友
时间:2024-07-01 14:29
简而言之,就是超类的引用可以指向子类的对象。解析:子类继承了超类中的所有成员,在可以用到超类中的地方均可以用子类来代替。例如:A是超类,B是A的子类,原本可这样写
A a=new A();现在可以这样写:A a=new B();
热心网友
时间:2024-07-01 14:30
在继承树里面,父类在上面,子类在下面,因此把子类转型成父类就是向上转型
热心网友
时间:2024-07-01 14:30
子类可以向上转型为父类,而父类不可以转型成子类
怎么理解JAVA里的上转型对象
可以这样来简单地理解上转型对象:上转型度对象不是父类创建的对象,而是子类对象的“简化”形态,它不关心子类新增的功能,只关心子类继承和重写的功能。
在java 中,什么叫向上转型
1。父类引用指向子类对象,而子类引用不能指向父类对象。2。把子类对象直接赋给父类引用叫upcasting向上转型,向上转型不用强制转换。如:Father f1 = new Son();3。把指向子类对象的父类引用赋给子类引用叫向下转型(downcasting),要强制转换。如:f1 就是一个指向子类对象的父类引用。把f1赋给子类...
JAVA里什么是上转型对象?
上转型对象可以操作子类继承或者隐藏的成员变量,也可以使用子类继承的或者重写的方法。上转型对象操作子类继承或重写的方法,其作用等价于子类对象去调用这些方法。因此,如果子类重写了父类的某个方法,则当对象的上转型对象调用这个方法时一定是调用了这个重写的方法 上面的YongMan 类中的drink()方法 重...
java中对象的向上向下转型在开发中用于实现什么功能
1上转型是指将子类对象使用父类引用进行引用。得:上转型对象可以操作和使用子类继承或者重写的方法。失:上转型对象丧失了对子类新增成员变量或新增的方法的操作和使用。2与向上转型相反,即是把父类对象转为子类对象:作用也与上转相反。java 转型问题其实并不复杂,只要记住一句话:父类引用指向子类对象...
求教个关于java继承的问题
一、向上转型与向下转型。对象类型的转换在Java语言平台中经常遇到,主要包 括向上转型与向下转型操作。程序开发人员需要熟练掌握这两个转型的方法以及其中容易出错的地方。如何来了解这两个转型的区别呢?笔者认为,以一个现实的例 子作为比喻,可能会更加的容易理解。如现在有动物、鸟类、燕子三个名词,...
java上转型对象只能调用子类重写的方法?上转型对象如何调用被隐藏的父...
向上转型后的对象是父类对象,它原本只调用自己的成员变量和成员方法,没法调用子类的成员变量和成员方法,但如果子类存在和父类相同的方法,即出现方法覆盖的情况,此时向上转型的后的对象就会调用子类的同名方法,而不是父类的。用super关键字 格式:super.成员方法名 super关键字表示对某个类的父类的...
JAVA中关于继承,上转型下转型的问题。
关于多态的理解 比如A a = new B();是创建了一个子类对象并把它当成父类对象A用 也就是父类引用指向子类对象 此时,引用变量a有2个类型,编译时的类型为A,运行时的类型为B.在代码编译过程中,a 只能调用属于A的方法. 不能调用B类里面的方法.注意,由于继承关系,如果B重写了A的某个方法,比如说...
java中的向上转型和向下转型问题。为什么一步到位的向下转型会报错,而...
所以转型没有问题 情况2: new AA() 中可能不包含BB类的全部变量和方法,强制转换无法实现 思考方法:JAVA中的变量名看成数据指针,new 是在内存中实际的创造一个实例。当创造了一个子类的实例时,指针类型是父类或子类都没有关系。但父类的实例不可能用子类的指针来表达。
谈谈你对Java中的多态的理解.(为什么要使用多态,有什么好处,一般用在...
在这里我们这样理解,这里定义了一个Wine 类型的a,它指向JNC对象实例。由于JNC是继承与Wine,所以JNC可以自动向上转型为Wine,所以a是可以指向JNC实例对象的。这样做存在一个非常大的好处,在继承中我们知道子类是父类的扩展,它可以提供比父类更加强大的功能,如果我们定义了一个指向子类的父类引用类型,那么它除了能够引用...
java编程里面to String有什么作用啊?
toString是object里面已经有了的方法,而所有类都是继承object,所以“所有对象都有这个方法”它通常只是为了方便输出,比如System.out.println(xx),括号里面的“xx”如果不是String类型的话,就自动调用xx的toString()方法 总而言之,它只是sun公司开发java的时候为了方便所有类的字符串操作而特意加入的一...