关于java类重复的问题,
来源:百度知道 编辑:UC知道 时间:2024/06/04 22:38:34
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.util.*;
public class BC extends BaseApplet
{
public void init()
{
setWorld(new BCWorld(this));
}
}
class BC extends JFrame
{
BC(String title)
{
this.setTitle(title) ;
this.setSize(608 , 630) ;
this.setLocation(300 , 100) ;
this.setBackground(Color.WHITE) ;
MyTank mp = new MyTank() ;
this.add(mp) ;
this.addKeyListener(mp) ;
new Thread(mp).start() ;
}
public static void main(String[] args)
{
BC h = new BC("Battle City(version1.0)") ;
h.setVisible(true) ;
}
}
class BCWorld implements World
{
BaseApplet applet=null;
public BCWorld(BaseApplet applet)
{
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.util.*;
public class BC extends BaseApplet
{
public void init()
{
setWorld(new BCWorld(this));
}
}
class BC extends JFrame
{
BC(String title)
{
this.setTitle(title) ;
this.setSize(608 , 630) ;
this.setLocation(300 , 100) ;
this.setBackground(Color.WHITE) ;
MyTank mp = new MyTank() ;
this.add(mp) ;
this.addKeyListener(mp) ;
new Thread(mp).start() ;
}
public static void main(String[] args)
{
BC h = new BC("Battle City(version1.0)") ;
h.setVisible(true) ;
}
}
class BCWorld implements World
{
BaseApplet applet=null;
public BCWorld(BaseApplet applet)
{
回答:
可以看出来,你将类public class BC extends BaseApplet 和类class BC extends JFrame 放在了同一个文件里了.
而class BC extends JFrame这个类定义在后,意味着他们是两个类,那么class BC extends JFrame就是是重新定义的一个类,而不是前面的那个类了.
而同一个文件里两个类名字是不能一样的(一个包里也不行),
不然的话,别人调用的时候就不知道哪个是哪个类,
所以-------你必须改掉一个类的名称.
继承的意思就是那个类的老爸是谁谁谁,一个人不能用多个老爸,类也一样
JAVA里面一个类是不可继承多个父类的
楼主可以在写一个接口来继承JFrame后再用BC来实现这个接口
重复定义类。