1、直接赋值
public static void main(String[] args) {
//父类引用 引用了 子类引用所引用的对象
Animal animal = new Cat();;//向上转型
}
2、方法传参,把一个Cat的子类传给一个Animal类型的父类,这里也是能发生向上转型的。
public class Test extends TestDemo {
public static void func(Animal animal) {
}
public static void main(String[] args) {
//父类引用 引用了 子类引用所引用的对象
Cat cat = new Cat();
func(cat);
}
}
3、方法返回,func方法的返回类型是Animal,但返回的确是一个Cat类型,这里也是发生了向上转型。
public class Test extends TestDemo {
public static Animal func() {
Cat cat = new Cat();
return cat;
}
public static void main(String[] args) {
Animal animal = func();
}
}
以上就是 java向上转型发生的时机,希望对大家有所帮助。更多关于“java培训”的问题,欢迎咨询千锋教育在线名师。千锋教育多年办学,课程大纲紧跟企业需求,更科学更严谨,每年培养泛IT人才近2万人。不论你是零基础还是想提升,都可以找到适合的班型,千锋教育随时欢迎你来试听。