「java上溯」java上溯造型
今天给各位分享java上溯的知识,其中也会对java上溯造型进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、Java:这里被上溯为父类型后,还可以通过类型转换转换回子类型?
- 2、java 子类中有和父类同名的变量,如何通过上溯造型使用子类的该变量
- 3、JAVA 类型上溯
- 4、java中上溯造型是什么原理
- 5、java 中什么叫上朔造型和下朔造型,它们的区别 与用法
- 6、java,上溯问题?
Java:这里被上溯为父类型后,还可以通过类型转换转换回子类型?
可以用形象点的例子来解释:
TF卡跟TF卡卡套,套上卡套的TF卡就是一张大卡,可以理解为将TF卡(子类)强制转换为大卡(父类)使用。但这个大卡的核心还是TF卡(子类)。因此在需要用TF卡的地方,可把卡套拿掉变成TF卡(再次转换回子类)来使用。但是如果是大卡里套的不是TF卡,而是另一个标准的卡,虽然它也是大卡,但由于当初不是由TF卡转换过来的,所以你拿掉卡套还是不能转换为TF卡。
总结:
子类转换为父类使用,只是隐藏掉了子类的一些信息,但这些信息并没有被抛弃,就像是在外面套了层套子,隐藏了些东西,但拿到套子还是可以继续变成子类的。但是可以转换为父类使用的不只是这个一个子类,也就是说能套上这个套子继续使用的不只是一种小卡,还有其他的卡呢。
java 子类中有和父类同名的变量,如何通过上溯造型使用子类的该变量
public abstract class Father{
protected String str = "Father";
public String getFatherValue(){return this.str;}
public abstract String getSonValue();
}
public class Son extends Father{
protected String str = "son";
public String getSonValue(){return this.str;}
}
public class Test {
public static void main(String... args){
Father f = new Son();
System.out.println(f.getSonValue());
}
}
看见了没有?!
用面向对象的思想!
如果你不要方法获取的这种形式,下面这种也行
import java.lang.reflect.Field;
public class Test {
public static void main(String... args) throws Exception {
Father f = new Son();
Field field = f.getClass().getDeclaredField("str");
System.out.println(field.get(f));
}
}
只不过这种就获取不到父类的变量的值了
JAVA 类型上溯
A w=new C();这时是接口A的引用指向C 此时无法访问到B
虽然C实现了B 只是形式上的实现 而生成的A对象无法A的子借口B
java中上溯造型是什么原理
Upcasting,上溯造型,有的书译作“向上转型”,是实现Java多态(Polymorphism) 的基石。
Casting指的是对象之间类型的转换。将一个对象的引用(Object
Reference)看作其父类对象的引用(Reference to base
type)叫做Upcasting(上溯造型或向上转型)。反之,将对象的引用看作其子类的引用叫Downcasting。
Upcating系统会自动替你去做,而Downcasting则需要强制类型转换。
java 中什么叫上朔造型和下朔造型,它们的区别 与用法
上溯造型指基类(或超类super class)或接口,下溯类型指继承或实现了类或者接口的子类.
说白了就是父类和子类,区别与用法不用我多说了吧,懂java的多态的话就知道.
java,上溯问题?
这是多态最最典型的用法啊
class A
{
}
class B extend A
{
}
class C extend B
{
}
class D
{
public static void mian(String [] args)
{
A a1 =new B();
A a2 =new C();
}
}
java上溯的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java上溯造型、java上溯的信息别忘了在本站进行查找喔。