interface PetCare {
public void feeding();
public void playing();
}abstract class Person {
private String name;
private String job;

Person(String name,String job){
this.name = name;
this.job = job;
}

public abstract void feeding();

public abstract void playing();
}class Worker extends Person implements PetCare {
Worker(String name,String job){
super(name,job);
}

public void feeding() {
System.out.println("worker feeding rice");
}
public void playing() {
System.out.println("worker playing football");
}
}class Peasant extends Person implements PetCare {
Peasant(String name,String job){
super(name,job);
}

public void feeding() {
System.out.println("peasant feeding vegetables");
}

public void playing() {
System.out.println("peasant playing self");
}
}class Leader extends Person implements PetCare {
Leader(String name,String job){
super(name,job);
}

public void feeding(){
System.out.println("leader feeding beef");
}

public void playing(){
System.out.println("leader playing money");
}
}public class TestPetCare {
public static void main(String[] args){
PetCare w = new Worker("worker","worker");
PetCare p = new Peasant("peasant","peasant");
PetCare l = new Leader("leader","leader");
w.feeding();
w.playing();
p.feeding();
p.playing();
l.feeding();
l.playing();
}
}
程序这样写是可以运行正确的,但是在interface PetCare之前加上public和abstract class Person 之前加上public 就编译不成功了,照道理应该是能通过的,因为modifier不加的话默认不是default吗?那应该前面加上public也是可以通过的!不明白,哪位大虾帮忙指点一下啊!