关于try-catch语句处理异常~
interface Choose //接口
{
String Choose(); //选课
}
class AgeException extends Exception //定义类AgeException--小学生年龄小于7的异常处理类
{
String s;
AgeException()
{
s="小学生的年龄不能小于7!";
}
public String toString()//输出出错信息
{
return s;
}
}
class Student //定义一个名为Student的父类
{
String name;//姓名
char sex;//性别
String grade;//年级
public Student()
{}
public Student(String n,char s,String g)//定义构造方法,用来进行初始化
{
name=n;//将传递进来的n赋给name
sex=s;//将传递进来的s赋给sex
grade=g;//将传递进来的g赋给grade
}
public void setname(String newname)//设置姓名
{
name=newname;
}
public String getname() //获取姓名
{
return name;
}
public void setsex(char newsex) //设置性别
{
sex=newsex;
}
public char getsex()//获取性别
{
return sex;
}
public void setgrade(String newgrade)//设置年级
{
grade=newgrade;
}
public String getgrade()//获取年级
{
return grade;
}
}
class Academician extends Student //继承于Student的子类:大学生
{
int Aage;//年龄
public Academician()
{}
public Academician(String n,char s,String g,int A) //定义构造方法,用来进行初始化
{
super(n,s,g);//调用父类的构造方法
Aage=A;
}
public void setAage(int newAage)//设置年龄
{
Aage=newAage;
}
public int getAage()//获取年龄
{
return Aage;
}
public String Choose()//实现选课接口
{
return "正在进入选课系统";
}
}
class Pupil extends Student//继承于Student的子类:小学生
{
int Page;//年龄
public Pupil()
{}
public Pupil(String n,char s,String g,int P) throws AgeException //增加异常处理
{
super(n,s,g);//调用父类的构造方法
Page=P;
if(Page<7)//当小学生年龄小于7时抛出异常
throw(new AgeException());
}
public void setPage(int newPage)//设置年龄
{
Page=newPage;
}
public int getPage()//获取年龄
{
return Page;
}
}
public class xqq_Applicationtigao1 //编写测试类
{
public static void main(String args[])
{
Academician A1=new Academician("张三",'男',"大学一年级",18); //给大学生A1赋值
System.out.println("姓名:"+A1.getname());
System.out.println("性别:"+A1.getsex());
System.out.println("年级:"+A1.getgrade());
System.out.println("年龄:"+A1.getAage());
System.out.println("选课情况:"+A1.Choose());
System.out.println("\n\n");
Pupil P1=new Pupil("李四",'女',"二年级",8); //给小学生P1赋值
System.out.println("姓名:"+P1.getname());
System.out.println("性别:"+P1.getsex());
System.out.println("年级:"+P1.getgrade());