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也是可以通过的!不明白,哪位大虾帮忙指点一下啊!
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也是可以通过的!不明白,哪位大虾帮忙指点一下啊!
解决方案 »
- 泛型里面的<T> List<T>前面的<T>代表是什么意思?为什么要加<T>?
- 把字符串“20070730”转换成日期类型,与当前日期比较,打印出日差
- java控制台输出颜色怎么设定!
- 请教一个SCJP的题目.
- 大侠,如何获取一个文件使用的字符集(Charset)?
- ******如何得到excel单元格的值?在线等待******
- 有个奇怪的问题!!!!
- 怎么在文件末尾追加内容?
- 一个例子程序的编译错误
- 各位,请问一下,我在第一运行JBuilder的时候,它向我要Login name和password应该怎么输入呀?
- spring security 配置数据库权限的问题
- 下面帖子植物人大战僵尸的源码谁有不?
已经定义一个public的类,那么其它的接口,类都不能用public修饰了,否则就犯了这个原则。 楼主基础知识要牢记啊。