有关java中modifier的问题!!!!

lianluzhen 2011-07-19 07:53:23
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也是可以通过的!不明白,哪位大虾帮忙指点一下啊!
...全文
68 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenchenyangll 2011-07-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ticmy 的回复:]

一个.java文件中只能有一个public的类或接口,且该.java文件的名称必须与public类名或接口名一致
[/Quote]

我感觉是这个问题。。
龙四 2011-07-19
  • 打赏
  • 举报
回复
一个.java文件中只能有一个public的类或接口,且该.java文件的名称必须与public类名或接口名一致
HeiBoyYang 2011-07-19
  • 打赏
  • 举报
回复
JAVA里面 准确来讲是有四个访问控制符 默认、public、private、protected等四个

pravite 只能在同一个类中访问
protected,可以在同一个类、同一个包、不同包中的子类访问
默认:在同一个类、同一个包中访问
public 同一个类,同一个包、不同包中的子类、不同包中的非子类

HeiBoyYang 2011-07-19
  • 打赏
  • 举报
回复
访问权限问题

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧