「java继承转换」Java继承
今天给各位分享java继承转换的知识,其中也会对Java继承进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
java 继承关系 子类强转
public class Parent{
public void method(){
System.out.println("parent");
}
public static void smethod(){
System.out.println("parent");
}
}
public class Child extends Parent{
public void method(){
System.out.println("child");
}
public static void smethod(){
System.out.println("child");
}
}
public class test{
public static void main(String args[]){
Child c=new Child();
Parent p=(Parent)c;
p.method();
p.smethod();
}
}
//楼主啊,下次记得把代码排版下,而且你的代码也有几处语法错误,已经改过来了、、
输出结果:
child
parent
--------------------
Parent:是父类,有method方法和静态的smethod方法。
Child:是子类,继承了Parent类,并且重写了父类的method方法,但smethod方法是静态方法,
是不能被子类重写覆盖的,可以被子类继承。所以,父类的smethod还是父类的,没有改变。
p.smethod():所以这里调用smethod方法的时候还是父类自己的,并没有被子类重写。
p.method():子类继承了父类的method方法,并重写了。所以这里调用的就是子类重写后的
method方法。
Parent p=(Parent)c:同等于Parent p=c,Parent是父类,可以完成自动类型转换的。
java继承强制转换问题
其实是否可以强制转换,只要满足E是不是一个F,然后再来看你的结构:
E→B→A;F→C→A,所以你只能说E是一个B,或者E是一个A,但是E和F并没有任何关系,所以如果已经设计成这样了,那么E强制F在语法上已经无法得到支持,只有自己写代码,把对应是属性复制给F,没别的办法了╮(╯_╰)╭
java 关于继承与强制类型转换的问题。
要想强制转换,必须真实类型是想转换的类型才行。。。。
你的URLConnection可以转成HttpURLConnection,说明它的真实类型是HttpURLConnection,但为啥会是你写的类型呢,那肯定不可能啊。。。。。。。。。
你用instanceof判断肯定是false啊,必须是true才能转换
JAVA 对象类型转换----子类转换父类
首先你要理解在Java里面子类与父类的关系。 子类继承父类,它可以继承到父类的非私有成员变量,以及方法。 也就是说这个子类的对象完全可以当作父类的对象来用,因为它拥有所有父类的方法,和成员 所以,在Java里面,父类的引用可以指向子类对象。 1.A a = b;因为b是B类的对象,B类继承自A类,所以A a = b;没有问题。等于 A a = new B(); 2.方法callA(A a)的参数形式就这个参数必须是A类的对象。当然,也可以A类子类的对象。因为A类子类的对象可以当A类的对象来用嘛。 3. callA(new B())实际上等同 A a = new B();callA(a); 第二问的 "如何调去的方法" 什么意思?
java继承转换的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于Java继承、java继承转换的信息别忘了在本站进行查找喔。