Person及其子类

简介: package cn.exp; //都是比较常见和标准的写法。注意eclipse工具的使用。 class AgeException extends RuntimeException{ public AgeException(Strin...
package cn.exp;
//都是比较常见和标准的写法。注意eclipse工具的使用。
class AgeException extends RuntimeException{
	  public AgeException(String Message) {
           super(Message);
	  }
}
class Person{
	String name;
	String gender;
	int age;
	public Person(String name, String gender, int age) {
		//super();
		if(age<=0){
			throw new AgeException("年龄错误,请重新输入");
		}
		this.name = name;
		this.gender = gender;
		this.age = age;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getGender() {
		return gender;
	}
	public void setGender(String gender) {
		this.gender = gender;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	@Override
	public String toString() {
		return "Person [name=" + name + ", gender=" + gender + ", age=" + age+ "]";
	}
	
	
}
class Student extends Person{
	int id;
	public Student(String name, String gender, int age, int id) {
		super(name, gender, age);
		if(age<=0){
			throw new AgeException("年龄错误,请重新输入");
		}
		this.id = id;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	@Override
	public String toString() {
		return "Student [name=" + name + ", gender=" + gender + ", age=" + age
				+ ",id="+id+"]";
	}
	public void show(){
		System.out.println("学生爱学习");
	}
		
	
}	
class Teacher extends Person{
	int pid;
	public Teacher(String name, String gender, int age, int pid) {
		super(name, gender, age);
		if(age<=0){
			throw new AgeException("年龄错误,请重新输入");
		}
		this.pid = pid;
	}
	public int getPid() {
		return pid;
	}
	public void setPid(int pid) {
		this.pid = pid;
	}
	public String toString(){
		return "Teacher [name=" + name + ", gender=" + gender + ", age=" + age
				+ ",pid="+pid+"]";
	}
	public void show(){
		System.out.println("老师爱吃饭");
	}
}

	public class PersonTest1 {
        public static void main(String[] args) {
			Student student=new Student("小米", "女", 12, 77);
			student.show();
			System.out.println(student.toString());
			Teacher teacher=new Teacher("小兰", "男", 77, 88);
			teacher.show();
			System.out.println(teacher.toString());
		}
}

相关文章
C# 继承类中(父类与子类)构造函数的调用顺序
C# 继承类中(父类与子类)构造函数的调用顺序
提供结构丰富的Person类
提供结构丰富的Person类
34 0
为什么子类会调用父类无参的构造函数
为什么子类会调用父类无参的构造函数
|
Java
定义Student类
定义Student类
114 0
|
Java
父类 子类 的 静态域,main(),构造代码块,构造方法 如何执行????
父类 子类 的 静态域,main(),构造代码块,构造方法 如何执行????
70 0
学生类-构造函数
学生类-构造函数
154 0
|
开发者 Python
私有属性的继承特点 | 学习笔记
快速学习 私有属性的继承特点
子类到底能不能继承父类的私有属性?
继承就像是我们现实生活中的父子关系,儿子可以遗传父亲的一些特性,在面向对象语言中,就是一个类可以继承另一个类的一些特性,从而可以代码重用,其实继承体现的是is-a关系,父类同子类在本质上还是一类实体;子类通过继承父类的属性的行为,我们称之为继承。Java只支持单继承,不支持多继承。因为多继承容易带来安全隐患:当多个父类定义相同的功能,当功能内容不同的时候,子类对象不确定要运行哪一个,在Java中用另一种形式体现出来,就是接口的多实现。
|
前端开发 开发者
class-子类访问父类上的实例方法|学习笔记
快速学习 class-子类访问父类上的实例方法
105 0