import java.applet.Applet;
import java.awt.*;
import java.util.*;class Employee
{
int m_EmpNo; //雇员编号
String m_EmpName; //雇员姓名
char m_EmpGender; //雇员性别
double m_EmpSalary; //雇员工资
Date m_StartWorkDate; //开始工作日期
static final double m_MinSalary=250; //静态常量:最低工资
static int m_NextEmpNo;

static{m_NextEmpNo=1001;} //初始化静态成员变量

Employee() //构造方法
{
m_EmpNo=m_NextEmpNo++;
}

Employee(String name)
{
this();
m_EmpName=new String(name);
}

Employee(String name,double initSal)
{
this(name);
if(initSal<m_MinSalary)
System.exit(0);
m_EmpSalary=initSal;
}

int getEmpNo() //获取雇员编号
{
return m_EmpNo;
}

static double getMinSalary() //获取雇员最低工资
{
return m_MinSalary;
}

double getEmpSalary() //获取雇员工资
{
return m_EmpSalary;
}

boolean setEmpSalary(double newsal)
{//新工资大于等于最低工资才可以修改雇员工资
if(newsal>=getMinSalary())
{
m_EmpSalary=newsal;
return true;
}
else return false;
}

int workDays() //到目前为止的工作天数
{
return((int)(((new Date()).getTime()-m_StartWorkDate.getTime())
/(1000*3600*24)));
}

public String toString() //综合所有内部信息
{
String s;
s="编号: "+m_EmpNo+"姓名: "+m_EmpName;
if(m_EmpGender=='m')
s=s+";性别:男";
else
s=s+";性别:女";
return(s+":工资:"+m_EmpSalary+";工资天数:"+workDays());
}
}class CommonEmployee extends Employee //雇员的子类:一般雇员类
{
private double m_EmpBonus; //内部奖金

CommonEmployee() //构造方法
{
super();
}

CommonEmployee(String name)
{
super(name);
}

double getEmpBonus() //获取内部奖金
{
return m_EmpBonus;
}

void setEmpBonus(double newBonus) //修改内部奖金
{
m_EmpBonus=newBonus;
}

}class ManagerEmployee extends Employee //雇员的子类:主管类
{
Date m_WorkAsManager; //任现任主管的日期

static double m_MinSalary=800; //主管的最低工资

ManagerEmployee() //构造方法
{
super();
}

ManagerEmployee(String name,Date mdate)
{
super(name);
m_WorkAsManager=new Date(mdate.getTime());
}

static double getManMinSalary() //获取主管的最低工资
{
return m_MinSalary;
}

int workDays(Date startDate) //返回到目前位置的工作天数
{
return((int)(((new Date()).getTime()-startDate.getTime())
/(1000*3600*24)));
}

boolean addSalYearly() //每年为主管加薪,如果任期已满一年则加薪20%
{
if(workDays(m_WorkAsManager)>=365)
{
setEmpSalary(getEmpSalary()*1.2);
return true;
}
else
return false;
}

public String toString() //综合主管的所有信息
{
String s;
s=super.toString();
if(m_WorkAsManager!=null)
s=s+";任主管:"+(m_WorkAsManager.getYear()+1900)+"/"+
(m_WorkAsManager.getMonth()+1)+"/"+m_WorkAsManager.getDate();
return s;
}
}public class TestClass extends Applet
{
ManagerEmployee MgrEmp1;
CommonEmployee ComEmp1;
CommonEmployee ComEmp2;

public void init()
{
MgrEmp1=new ManagerEmployee("张予",new Date(92,6,5));
MgrEmp1.m_EmpGender='m';
MgrEmp1.m_StartWorkDate=new Date(90,4,8);
MgrEmp1.setEmpSalary(4500);

ComEmp1=new CommonEmployee();
ComEmp1.m_EmpName=new String("老李");
ComEmp1.m_EmpGender='m';
ComEmp1.m_StartWorkDate=new Date(89,9,8);
ComEmp1.setEmpSalary(2500);

ComEmp2=new CommonEmployee("王力");
ComEmp2.m_EmpGender='f';
ComEmp2.m_StartWorkDate=new Date(98,3,18);
ComEmp2.setEmpSalary(600);
ComEmp2.setEmpBonus(200);

}
public void paint(Graphics g)
{
String strt = "直接访问父类最低工资:";
strt = new String(strt.getBytes("iso-8859-1"),"gb2312") ;
//g.drawString(str + Employee.m_MinSalary,20,20);
g.drawString("调用继承自父类的方法访问父类的最低工资:"
+MgrEmp1.getMinSalary(),20,40);
g.drawString("直接访问子类--主管的最低工资:"
+MgrEmp1.m_MinSalary,20,60);
g.drawString("调用子类的方法访问子类的最低工资:"
+MgrEmp1. getManMinSalary(),20,80);

g.drawString("直接访问子类最低工资:"+ManagerEmployee.m_MinSalary,20,100);
g.drawString("主管信息:"+MgrEmp1.toString(),20,120);
g.drawString("雇员1信息:"+ComEmp1.toString(),20,140);
g.drawString("雇员2信息:"+ComEmp2.toString(),20,160);
}

}

解决方案 »

  1.   

    我的jdk是j2sdk1.4.1_02的版本.应该没关系吧?
      

  2.   

    老兄,都什么年代了,你还继承Applet类。
    改一下加载Applet的部分就可以了。
    例子如下:
    <body bgcolor="#FFFFFF">
    <OBJECT classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
        width="100%" height="100%" vspace="0" hspace="0" bgcolor= "#FFFFFF"
        codebase="plugin/j2re-1_3_0_02-win-i.exe#Version=1,3,0,0"> 
     <param name="code" value="test/TestApplet.class">
     <param name="archive" value="test.jar">
     <param name="type" value="application/x-java-applet;version=1.3">
     <param name="encoding" value="gb2312">
     </OBJECT>
    </body>