package java1; //人类 public class Person { //属性 成员变量 String name; int age=30; //方法 函数 成员函数 void hello() { System.out.println("你好"); } void addAge(int i) { age+=i; } void showAge() { System.out.println("年龄为"+age); } //构造方法 //1、方法名和类名一样 //2、没有返回值,不需要加void Person() { System.out.println("Person的构造方法"); } }
package hanqi; //学生 作为人的子类来写 //关键字:extends 继承 //1、java支持单继承,不支持多继承:子类只能有一个父类,父类可以有多个子类 //2、子类自动继承父类公开的成员 //3、子类不能继承父类私有的成员和构造方法 //4、子类可以自定义自己的成员 //5、java.lang.objeck 是所有类的根父类 public class Student extends Person{ public Student(String name) { //首先要去实例化父类,默认调用父类的默认的无参的构造方法 //显示调用父类的构造方法,必须在代码的第一句 super(name); } private String school; public String getSchool() { return school; } public void setSchool(String school) { this.school = school; } //方法的重写 //1、必须和父类的方法具有相同的名称,参数列表,返回值类型 //2、子类的覆盖方法不能有比父类的更严格的访问权限控制 public String getInfo() { // return "name="+getName()+" schoole="+school; //子类调父类的方法 //super 代表父类的实例 return super.getInfo()+"子类的属性school="+school; } }