java:子类对象向上转型为父类实例后,调用的是父类方法,还是子类方法

当子类重来写了父类方法,向自上造成后调用的是子类方法;

子类没有重写父类方法,向上造型后调用的是父类方法。
public class Test1 {
public static void main(String[] args) {
A k=new B();
k.sayHi();
k.hello();
}
}
class A {
public void sayHi(){
System.out.println("我是父类");
}
public void hello(){
System.out.println("我是父类hello");
}
}
class B extends A{
public void sayHi(){
System.out.println("我是子类");
}
}
输出结果:
我是子类
我是父类hello

❷ java子类为什么要进行父类强制转换为子类

一般都是把子类的对象赋值给父类的引用

有上转型和接口回调

publicinterfaceA{
}

publicclassB{
}
publicclassCextendsB{

}

publicclassDimplementsA{

}

publicclassTest{
publicstaticvoidmain(Stringargs[]){
Bc=newC();//上转型
Ad=newD();//接口回调
}
}

你指的是哪个?还是

Cc=newC();
Bb=(B)c;

❸ JAVA中子类对象转换成父类对象后是否能调用子类方法

class SuperClass
{

int i;
}

public class ChildClass extends SuperClass
{
public void test(){
System.out.println("这是子类的方法,父类没有的");
}

public static void main(String [] args){
SuperClass sc = new ChildClass();
sc.test();//这里提示错误
}
}

❹ java 子类转换成父类叫什么

是的,java
可以自动子类转换成父类(称为向上转换),子类独有的方法和属性会隐藏。但是还是存在的,例如
a
a
=
new
b();
b
b
=
(b)
a;
//强制转换
这时仍能使用而调用b的fun3();

❺ java为什么子类可以转换成父类

是的,java 可以自动子类转换成父类(称为向上转换),子类独有的方法和属性会隐藏。但是还是存在的,例如
A a = new B();
B b = (B) a; //强制转换
这时仍能使用而调用b的fun3();

❻ java 子类与父类转换

A extends B.
B b = new A();
A a = (A) b.
以上是没有问题的。其实在调用paint(Graphics oldg)时所传入的参数oldg本身就是Graphics2D对象。你可以在方法的开始加上System.out.println(oldg);就明白了。

❼ java 子类强制转换为父类,父类强制转换为子类调用问题

类A = (类A) 类aaa;

❽ java 子类b对象 自动转换成 父类 a以后 怎么调用 子类b的方法

i.setA(1.1);
这里的i的类型是a(虽然是b类型向上转型的),只能调用a下的方法,然而a并没有setA这个方法,

想要调用有两种办法

  1. 将i的类型转换为b

  2. 把a字段和getter,setter方法放到类a里


子类转型为父类之后只能调用父类中有的方法,不是继承自父类的方法不能转型为父类调用

转型为父类之后,如果这个方法在子类重写过,那调用子类的方法,调用父类用super关键字

如果这个方法在子类没有重写 那就调用父类方法

❾ 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); 第二问的 "如何调去的方法" 什么意思?