概念
- 继承就是在原有的代码结构上扩充新的功能,继承解决的是代码的重复的现象。
- 语法:public class 子类 extends 父类{}
- 子类继承了父类的所有属性和方法(但是不能继承构造方法)。但是如果子类需要有一些特有的操作,此时应该在子类中单独定义。
- 一个父类可以有多个子类,但是一个子类只能有一个父类(继承的局限性,单继承局限)。可以使用接口的实现来解决单继承的局限。
定义父类
package com.CoderLB;
import java.io.Serializable;
public class People implements Serializable {
String name;
Integer age;//基本数据类型应该用该类型的包装类
String sex;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public void info(){
System.out.println("名字是:"+this.name+" 年龄:"+this.age+" 性别:"+this.sex);
}
}
定义两个子类Student Worker
package com.CoderLB;
import java.io.Serializable;
import java.sql.SQLOutput;
public class Student extends People {
public void readbook(){
System.out.println("我正在阅读文章");
}
}
package com.CoderLB;
import java.io.Serializable;
public class Worker extends People {
public void removeBrik(){
System.out.println("我正在搬砖");
}
}
主方法
package com.CoderLB;
import java.util.Scanner;
public class Hi {
public static void main(String[] args) {
Student s=new Student();
s.setName("小明");
s.setAge(19);
s.setSex("男");
s.info();
s.readbook();
Worker w =new Worker();
w.setName("小黄");
w.setAge(12);
w.setSex("女");
w.info();
w.removeBrik();
}
}
输出:
名字是:小明 年龄:19 性别:男
我正在阅读文章
名字是:小黄 年龄:12 性别:女
我正在搬砖
子类继承了父类的所有属性和方法(但是不能继承构造方法)。但是如果子类需要有一些特有的操作,此时应该在子类中单独定义。