nsd*_*nsd 3 java inheritance class core abstract
我有一个名为Hospital.java的界面
public interface Hospital {
public void operate();
public void doScan();
public void doVaccination();
}
Run Code Online (Sandbox Code Playgroud)
我有一个名为StreetHospital.java的抽象类
public abstract class StreetHospital implements Hospital{
public void operate(){
System.out.println("Street Hospital operate");
}
}
Run Code Online (Sandbox Code Playgroud)
现在我正在使用另一个类CommunityHospital.java来扩展StreetHospital.java
public class CommunityHospital extends StreetHospital{
public void doScan(){
System.out.println("CommunityHospital doScan");
}
public void doVaccination(){
System.out.println("CommunityHospital doVaccination");
}
public void operate(){
System.out.println("CommunityHospital operate");
}
}
Run Code Online (Sandbox Code Playgroud)
我在MainHospital类中创建了CommunityHospital对象
public class MainHospital {
public static void main(String[] args){
CommunityHospital ch = new CommunityHospital();
ch.operate();
ch.doScan();
ch.doVaccination();
}
}
Run Code Online (Sandbox Code Playgroud)
我得到这个输出:
CommunityHospital operate
CommunityHospital doScan
CommunityHospital doVaccination
Run Code Online (Sandbox Code Playgroud)
我的问题是如何在输出中打印"街道医院操作"sysout语句?
你不能这样做.
在一个具有相同名称和参数的类中不能有两个方法.一旦你在CommunityHospital中覆盖了operations(),StreetHospital中的同一个方法就不再存在了.