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()+"\tschoole="+school;
//子类调父类的方法
//super 代表父类的实例
return super.getInfo()+"子类的属性school="+school;
}
}