当前位置: 代码迷 >> J2SE >> java 中继承后class 修饰符有关问题
  详细解决方案

java 中继承后class 修饰符有关问题

热度:126   发布时间:2016-04-24 01:51:54.0
java 中继承后class 修饰符问题!
Java code
import java.awt.*;public class TestMultiPanel{    public static void main(String[] args){        MyFrame f = new MyFrame("test",300,300,400,300);    }}public class MyFrame extends Frame{    MyFrame (String s,int x,int y,int w,int h){        setTitle(s);        setLayout(null);        Panel p1 = new Panel(null);        Panel p2 = new Panel(null);        Panel p3 = new Panel(null);        Panel p4 = new Panel(null);        p1.setBounds(0,0,w/2,h/2);        p2.setBounds(0,w/2,w/2,h/2);        p3.setBounds(w/2,0,w/2,h/2);        p4.setBounds(w/2,h/2,w/2,h/2);        p1.setBackground(Color.blue);        p2.setBackground(Color.green);        p3.setBackground(Color.yellow);        p4.setBackground(Color.red);        add(p1);        add(p2);        add(p3);        add(p4);        setBounds(x,y,w,h);        setVisible(true);            }}
,编译的时候报错“类MyFrame是公共的,应在名为MyFrame.java的文件中声明”

------解决方案--------------------
选择1:
public class MyFrame extends Frame{
改成:
class MyFrame extends Frame{

选择2:
把MyFrame放到另外一个文件MyFrame.java中。
------解决方案--------------------
一个类文件中,不能出现两个public修饰的类。
你把第二类的public去掉吧。
------解决方案--------------------
2楼正解

------解决方案--------------------
除了去掉public,也可以把MyFrame放到另一个文件MyFrame.java中。

就是我上面说的选择2:
把MyFrame放到另外一个文件MyFrame.java中
  相关解决方案