1、定义:
2、举个例子:
题目:
基础部分的代码实现:
1)Person类
package com.train; //自动补全alt+/ 快捷注释ctrl+/ 删除行ctrl+d 复制行ctrl+alt+向下键 //导入需要的类alt+enter 快速格式化代码ctrl+alt+l 快速运行alt+r //生成构造器alt+insert 查看类的层次关系ctrl+h 快速定位方法ctrl+b //自动分配变量名 后面加.var //模板快捷键 soutm main public class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String say(){ return "name="+name+" age="+age; } }
2)Student类
package com.train; public class Student extends Person{ private double score; public Student(String name, int age, double score) { super(name, age); this.score = score; } public double getScore() { return score; } public void setScore(double score) { this.score = score; } public String say(){ return "学生 "+super.say()+" score="+score; } }
3)Teacher类
package com.train; public class Teacher extends Person{ private double salary; public Teacher(String name, int age, double salary) { super(name, age); this.salary = salary; } public double getSalary() { return salary; } public void setSalary(double salary) { this.salary = salary; } public String say(){ return "老师 "+super.say()+" salary="+salary; } }
4)Test测试类
package com.train; public class Test { public static void main(String[] args) { Person[] persons=new Person[5]; persons[0]=new Person("ds",20); persons[1]=new Student("小明",15,88); persons[2]=new Student("小兰",18,67.5); persons[3]=new Teacher("张三",35,20000); persons[4]=new Teacher("熊大",45,30020); for (int i = 0; i < persons.length; i++) { System.out.println(persons[i].say()); } } }
要求升级:
首先在对应类中编写自己特有的方法,然后用 instanceof实现调用