1:
public class Account
{
private double balance;
Account(){};
Account(double b)
{ balance=b;}
public double getBalance()
{ return balance;}
public void deposit(double amt)
{
balance= (balance+amt);
System.out.println( "Deposit "+amt);
}
public void withdraw(double amt)
{
// balance=balance - awt; //有问题
System.out.println("Withdraw "+amt);
}
public static void main(String args[])
{
System.out.println("Creating an account with a 500.00 balance.");
Account a=new Account(500.00);
a.withdraw(150.00);
a.deposit(22.50);
a.withdraw(47.62);
System.out.println("The account has a balance of "+a.getBalance());
}
}
//Creating an account with a 500.00 balance.
//Withdraw 150.00
//Deposit 22.50
//Withdraw 47.62
//The account has a balance of 324.88
2:要求输出名字,工资,部门;用到了覆盖方法
class Employee
{
public String name;
public double salary;
Employee(){};
Employee(String n,double s)
{
name=n;
salary=s;
}
public String getDetails()
{
return "Name:"+name+ "Salary:"+salary;
}
}
class Manager extends Employee
{
public String department;
Manager(String n,double s,String d)
{
name=n;salary=s;
department=d;
}
public String getDetails(String n,double s,String d)
{
super.getDetails();
return "Department:"+department;
}
}
public class TestEmployeeManager
{
public static void main(String args[])
{
Manager a=new Manager("zsh",1000.0,"english");
a.getDetails();
}
}
//程序代码调试无问题,但是输不出结果
public class Account
{
private double balance;
Account(){};
Account(double b)
{ balance=b;}
public double getBalance()
{ return balance;}
public void deposit(double amt)
{
balance= (balance+amt);
System.out.println( "Deposit "+amt);
}
public void withdraw(double amt)
{
// balance=balance - awt; //有问题
System.out.println("Withdraw "+amt);
}
public static void main(String args[])
{
System.out.println("Creating an account with a 500.00 balance.");
Account a=new Account(500.00);
a.withdraw(150.00);
a.deposit(22.50);
a.withdraw(47.62);
System.out.println("The account has a balance of "+a.getBalance());
}
}
//Creating an account with a 500.00 balance.
//Withdraw 150.00
//Deposit 22.50
//Withdraw 47.62
//The account has a balance of 324.88
2:要求输出名字,工资,部门;用到了覆盖方法
class Employee
{
public String name;
public double salary;
Employee(){};
Employee(String n,double s)
{
name=n;
salary=s;
}
public String getDetails()
{
return "Name:"+name+ "Salary:"+salary;
}
}
class Manager extends Employee
{
public String department;
Manager(String n,double s,String d)
{
name=n;salary=s;
department=d;
}
public String getDetails(String n,double s,String d)
{
super.getDetails();
return "Department:"+department;
}
}
public class TestEmployeeManager
{
public static void main(String args[])
{
Manager a=new Manager("zsh",1000.0,"english");
a.getDetails();
}
}
//程序代码调试无问题,但是输不出结果
class Employee
{
public String name;
public double salary;
Employee(){};
Employee(String n,double s)
{
System.out.println("Employee");
name=n;
salary=s;
}
public String getDetails()
{
return "Name:"+name+ "Salary:"+salary;
}
}
class Manager extends Employee
{
public String department;
Manager(String n,double s,String d)
{
System.out.println("Employee mag");
name=n;salary=s;
department=d;
}
public String getDetails(String n,double s,String d)
{
super.getDetails();
return "Department:"+department;
}
}
public class TestEmployeeManager
{
public static void main(String args[])
{
Manager a=new Manager("zsh",1000.0,"english");
System.out.println(a.getDetails());
}
}
你没输出语句
请问问题出现在哪里呢?还有第一题的“-”号怎么来处理?
因为她调用的是父类的 getDetails()方法
哇哈哈
2:仍然有问题,希望大家给点意见
class Employee
{
public String name;
public double salary;
// protected Date birthDate; 若此处定义了,怎么在后面的方法中实现输出生日
// 在JDK文档中找不到 Date相关的方法来做,望指教
Employee(){};
Employee(String name,double salary)
{
this.name=name;
this.salary=salary;
}
public String getDetails()
{
return "Name: "+name+ "\tSalary: "+salary;
}
}
class Manager extends Employee
{
public String department;
Manager(String name,double salary,String department)
{
this.name=name;
this.salary=salary;
this.department=department;
}
public String getDetails(String name,double salary,String department)
{
super.getDetails();
return "Department:"+department; //这条语句为什么没有执行呢?
}
}
public class TestEmployeeManager
{
public static void main(String args[])
{
Manager a=new Manager("zsh",1000.0,"english");
System.out.println(a.getDetails());
}
}
加上参数即可
class Employee
{
public String name;
public double salary;
Employee(){};
Employee(String n,double s)
{
name=n;
salary=s;
}
public String getDetails()
{
return "Name:"+name+ "Salary:"+salary;}}
class Manager extends Employee
{
public String department;
Manager(String n,double s,String d)
{
name=n;salary=s;
department=d;
}
public String getDetails(String n,double s,String d)
{
System.out.println(super.getDetails());
return "Department:"+department;
}
}
public class TestEmployeeManager
{
public static void main(String args[])
{
Manager a=new Manager("zsh",1000.0,"english");
System.out.println(a.getDetails("zsh",1000.0,"english"));
}
}
return super.getDetails()+"\nDepartment:"+department;其次,我发现如果用了Date 这个类之后,怎么来初始化,输出日期等等,
import java.util.Date;
class Employee
{
protected String name;
protected double salary;
protected Date birthDate; //按题目要求是要输出日期 的 Employee(){};
Employee(String name,double salary)
{
this.name=name;
this.salary=salary;
Date birthDate=new Date(1980,1,1); //在次创建对象,以后该如何做呢
}
public String getDetails()
{
return "Name:"+name+ "\nSalary:"+salary+"\nBirthDate:"+birthDate.getTime();
//此处想输出日期,办不到,程序出错
}
}
class Manager extends Employee
{
public String department;
Manager(String name,double salary,String department)
{
this.name=name;
this.salary=salary;
this.department=department;
}
public String getDetails()//次处方法覆盖,覆盖Employee类中的方法
{
return super.getDetails()+"\nDepartment:"+department;
}
}
public class TestEmployeeManager
{
public static void main(String args[])
{
Manager a=new Manager("zsh",1000.0,"english");//如何来初始化日期呢
System.out.println(a.getDetails());
}
}
这个构造方法已经废除了,可以用这个Date birthDate=new Date();参数是毫秒,或者用calendar类 例如:
import java.util.Date;
class Employee
{
protected String name;
protected double salary;
Date birthDate=new Date(244456);//按题目要求是要输出日期 的 Employee(){};
Employee(String name,double salary)
{
this.name=name;
this.salary=salary;
//在次创建对象,以后该如何做呢
}
public String getDetails()
{
return "Name:"+name+ "\nSalary:"+salary+"\nBirthDate:"+birthDate.toString();
}
}
class Manager extends Employee
{
public String department;
Manager(String name,double salary,String department)
{
this.name=name;
this.salary=salary;
this.department=department;
}
public String getDetails()
{
return super.getDetails()+"\nDepartment:"+department;
}
}
public class TestEmployeeManager
{
public static void main(String args[])
{
Manager a=new Manager("zsh",1000.0,"english");
System.out.println(a.getDetails());
}
}
这个构造方法已经废除了,可以用这个Date birthDate=new Date();参数是毫秒,或者用calendar类的确,编译没问题,但是输出时错误;
用Date看来无法完成这个小小的要求了,但是用calendar类 又如何做呢?我正在查资料,也欢迎大家给我点建议!
然后读取的时候:
get(Calendar.YEAR);
get(Calendar.MONTH);
get(Calendar.DAY_MONTH);
Calendar birthDate=Calendar.getInstence();
birthday.set(1980,1,1);
{
//balance=balance - awt; //有问题1个是amt,1个是awt........
class Employee
{
protected String name;
protected double salary;
protected Date birthDate;
Employee(){};
Employee(String name,double salary,Date birthDate)
{
this.name=name;
this.salary=salary;
this.birthDate=birthDate;
}
public String getDetails()
{
return "Name:"+name+ "\nSalary:"+salary+"\nBirthDate:"+birthDate.toString();
}
}
class Manager extends Employee
{
public String department;
Manager(String name,double salary,String department,Date birthDate)
{
this.name=name;
this.salary=salary;
this.department=department;
this.birthDate=birthDate;
}
public String getDetails()
{
return super.getDetails()+"\nDepartment:"+department;
}
}
public class TestEmployeeManager
{
public static void main(String args[])
{
try
{
Manager a=new Manager("zsh",1000.0,"english",new Date(1984,1,23));
System.out.println(a.getDetails());
}catch(CloneNotSupportedException e){System.out.println("Throws Exception");} //此处无法捕获异常
}
}
class Employee
{
protected String name;
protected double salary;
protected Date birthDate;
Employee(){};
Employee(String name,double salary,Date birthDate)
{
this.name=name;
this.salary=salary;
this.birthDate=birthDate;
}
public String getDetails()
{
return "Name:"+name+ "\nSalary:"+salary+"\nBirthDate:"+birthDate.toString();
}
}
class Manager extends Employee
{
public String department;
Manager(String name,double salary,String department,Date birthDate)
{
this.name=name;
this.salary=salary;
this.department=department;
this.birthDate=birthDate;
}
public String getDetails()
{
return super.getDetails()+"\nDepartment:"+department;
}
}
public class TestEmployeeManager
{
public static void main(String args[]) throws CloneNotSupportedException
{
// try
{
Manager a=new Manager("zsh",1000.0,"english",new Date(1984,1,23));
System.out.println(a.getDetails());
}
// catch(CloneNotSupportedException e)
// {System.out.println("Throws Exception");}
}
}
已经调试成功!
但是若改为 Calendar 类呢?
马上要结帖了