m0_54226903 2022-06-02 19:42 采纳率: 0%
浏览 18
已结题

为什么一个报不兼容,另一个文件不报错

39.p440集韩老师讲的第10章的homework06题,在
package com.hspedu.homework06Try02;

/**
 * @author code
 * @version 1.0
 */
public class Homework06 {
    public static void main(String[] args){
       Person person= new Person("唐僧", new Boat());
       person.common();
       person.passRiver();
       person.passRiver();
       person.passRiver();
       person.common();
    }
}

这里的Person里面的参数 new Boat()改为null或者new Horse()也可以不报错并运行出结果来,这是为什么!

为什么D:\idea_java_projects\chapter11\src\com\hspedu\homework\Person.java中写成
Boat boat=VehiclesFactory.getBoat();会报错;
报的错误:
D:\idea_java_projects\chapter11\src\com\hspedu\homework\Person.java:16:42
java: 不兼容的类型: com.hspedu.homework.Vehicles无法转换为com.hspedu.homework.Boat

img

public void passRiver(){
    Boat boat=VehiclesFactory.getBoat();
    boat.work();
}
public void common(){
    vehicles=VehiclesFactory.getHorse();
    vehicles.work();
}

而在D:\idea_java_projects\chapter11\src\com\hspedu\homework06Try02\Person.java中写成
Boat boat=VehiclesFactory.getBoat();却没有报错!

img

public void passRiver(){
    Boat boat=VehiclesFactory.getBoat();
    boat.work();
}
public void common(){
    Horse horse=VehiclesFactory.getHorse();
    horse.work();
}

  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 6月10日
    • 修改了问题 6月2日
    • 修改了问题 6月2日
    • 创建了问题 6月2日

    悬赏问题

    • ¥15 高通uboot 打印ubi init err 22
    • ¥20 PDF元数据中的XMP媒体管理属性
    • ¥15 R语言中lasso回归报错
    • ¥15 网站突然不能访问了,上午还好好的
    • ¥15 有没有dl可以帮弄”我去图书馆”秒选道具和积分
    • ¥15 semrush,SEO,内嵌网站,api
    • ¥15 Stata:为什么reghdfe后的因变量没有被发现识别啊
    • ¥15 振荡电路,ADS仿真
    • ¥15 关于#c语言#的问题,请各位专家解答!
    • ¥15 这个如何解决详细步骤