java知识五(继承)

第一章 继承

Java中提供了一个关键字extends,用这个关键字,可以让一个类和另一个类建立起父子关系。

java 复制代码
public class B extends A {
}

A类称为父类(基类或超类)。

B类称为子类(派生类)。

1.1 子类继承

子类能继承父类的非私有成员(成员变量、成员方法)

1.2 继承后对象的创建

子类的对象是由子类、父类共同完成的。

继承的好处:1.代码复用 2.减少了重复代码

1.2.1 People父类创建

java 复制代码
package com.kgl.extendsdemo;

public class People {
    private String name;
    private int age;
    private char sex;
    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 char getSex() {
        return sex;
    }
    public void setSex(char sex) {
        this.sex = sex;
    }
    public People() {
    }
    public People(String name, int age, char sex) {
        this.name = name;
        this.age = age;
        this.sex = sex;
    }
}

1.2.2 Teacher类

java 复制代码
package com.kgl.extendsdemo;

public class Teacher extends  People{
    private String skill;
    public String getSkill() {
        return skill;
    }
    public void setSkill(String skill) {
        this.skill = skill;
    }
    public Teacher(String name, int age, char sex, String skill) {
        super(name, age, sex);
        this.skill = skill;
    }
    public Teacher() {
    }
}

1.2.3 Consultant类

java 复制代码
package com.kgl.extendsdemo;

public class Consultant extends People{
    private int num;
    public int getNum() {
        return num;
    }
    public void setNum(int num) {
        this.num = num;
    }
}

1.2.4 使用

java 复制代码
package com.kgl.extendsdemo;

public class Test {
    public static void main(String[] args) {
        Teacher t = new Teacher("张三",18,'男',"java");
        System.out.println(t.getName());//张三
        System.out.println(t.getAge());//18
        System.out.println(t.getSex());//男
        System.out.println(t.getSkill());//java
        Consultant c = new Consultant();
        c.setNum(10);
        System.out.println(c.getNum());//10

    }
}
相关推荐
captain3761 小时前
多线程线程安全问题
java·java-ee
吃好睡好便好1 小时前
MATLAB中图像的读取、写入和显示
开发语言·图像处理·学习·计算机视觉·matlab
CoderYanger1 小时前
A.每日一题:1979. 找出数组的最大公约数
java·程序人生·算法·leetcode·面试·职场和发展·学习方法
灵极海1 小时前
LangChain4j RAG 实战完整指南:从入门到踩坑
java·langchain
yaoxin5211231 小时前
476. Java 反射 - 调用方法
java·开发语言
猫头虎2 小时前
什么是ZCode for GLM-5.2?
开发语言·人工智能·python·科技·算法·ai编程·ai写作
Ivanqhz2 小时前
Rust Lazy浅析
java·javascript·rust
bksczm2 小时前
Linux之日志和线程池、内存池
java·开发语言
笨蛋不要掉眼泪2 小时前
Java虚拟机:对象复活、引用强度与Stop-The-World
java·开发语言·jvm
code_pgf3 小时前
C/C++ 常用容器功能汇总
c语言·开发语言·c++