继承
package day07;
/**
* 父类
*/
public class Person {
protected int age;
protected String name;
protected String sex;
public void showInfo() {
System.out.println("姓名:"+name);
System.out.println("性别:"+sex);
System.out.println("年龄:"+age);
}
}
package day07
/**
* 子类
*/
public class Student extends Person{
String school="阳光小学";
public void showInfo2()
{
this.age = 12;
System.out.println("学校是:"+school);
showInfo();
}
}
package day07;
/**
* 继承
*/
public class inherit {
public static void main(String[] args) {
Student c = new Student();
c.showInfo2();
}
}
注意:Java只支持单继承
方法的重写
Alt+/后
关键字super
package day07;
/**
* 子类
*/
public class Student extends Person{
public Student(int age) {
super.age = age; //带参数的构造器
}
String school="阳光小学";
public void showInfo2()
{
System.out.println("学校是:"+school);
showInfo();
}
}
package day07;
/**
* 关键字super的使用——访问属性和方法
* super调用父类构造器
*/
public class studentsKid extends Student{
public studentsKid(int age) {
super(age); //因为父类是带参数的构造器,所以要写此句
}
public void test() {
super.sex = "男";
super.showInfo2();
System.out.println(this.age);
}
}