修饰符怎么添加啊

时间:2008-06-11 08:21:48   来源:论坛整理  作者:  编辑:chinaitzhe
package factory;

public class Pci{
public static void main(String[] args)
{
MainBoard mb=new MainBoard();
NetworkCard nc=new NetworkCard();
mb.usePCICard(nc);
SoundCard sc=new SoundCard();
mb.usePCICard(sc);
}
}

class NetworkCard implements PciFace{ //网卡
public void start()
{
System.out.println("Send...");
}
public void stop()
{
System.out.println("Network stop!");
}
}

class SoundCard implements PciFace //声卡
{
public void start()
{
System.out.println("Du du...");
}
public void stop()
{
System.out.println("Sound stop!");
}
}

class MainBoard //主板调用接口的运行方法,也就是调用PCI的函数
{
public void usePCICard(PciFace p)
{
p.start();
p.stop();
}
}

以上这段代码我在myeclipse中填写,接口已经建立,但是在NetworkCard、SoundCard 、MainBoard 类名前添加修饰符时总是提示错误,只有不加任何修饰符就能通过,请问这是为什么呢?
网友回复:因为一个文件中只能有1个public类,而且那个public类必须和文件名一样!
网友回复:但是我在前面填写private提示有错误啊
网友回复:
引用 1 楼 becloud 的回复:
因为一个文件中只能有1个public类,而且那个public类必须和文件名一样!

应该是这个问题
网友回复:你要加什么修饰符? abstract 是答应的, public 现在一个文件里最多有一个,且【看一楼】
网友回复:建议你把需要 public 的类,写到一个单独的文件里面
网友回复:类不能写成私有的哦 除非写成内部类!
网友回复:eclipse的提示已经说得很清楚了,
illegal modifier for the class B,only public ,abstract & final are permitted
------------------
private是不能用来修饰class的
网友回复:假如外部类是private的,那谁可以访问?
网友回复:1楼正解
网友回复:为什么我不添加任何修饰符时可以通过?不添加时默认是什么?
网友回复:看1楼,6楼的吧。
网友回复:
引用 10 楼 enchantment 的回复:
为什么我不添加任何修饰符时可以通过?不添加时默认是什么?

默认可以称为friendly,但java中并没有这个修饰符,只是习惯称呼而已!
网友回复:访问控制修饰符:public ,protected,fridenly(默认),private,在同一类中、同一包中、不同包中的子类、不同包中的非子类,修饰符的作用不一样的。。
类型说明修饰符:final,abstract,static


网友回复:public 类 只能有一个 并且和文件名一致
网友回复:
引用 14 楼 wxinb 的回复:
public 类 只能有一个 并且和文件名一致

外部类似乎不能私有
关键字:修饰,添加,

文章评论

共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面