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

    }
}
相关推荐
峥嵘life5 小时前
Android16 311Y3 EAP-TLS 网络连接失败分析与修复总结
android·开发语言·人工智能·php
M-Robots echo5 小时前
轻量化裁剪方案解析:M-Robots 模块化构建,适配高低端各类机器人硬件平台
java·机器人·ros·开源社区·atomgit·m-robots
不可求~6 小时前
多模型路由怎么落地:把任务分流写进项目的最小实现
java·前端·数据库
mldong7 小时前
用 DDD 设计工作流引擎:聚合根与充血模型
java·架构
mqiqe8 小时前
AgentScope Java Harness:4. 双层记忆系统 让 Agent 拥有真正的“长期大脑“
java·开发语言
伍一518 小时前
03-文件管理模块-一个看似简单的模块藏着多少细节
java·ruoyi·若依
gugucoding8 小时前
46. 【Java】JUC并发工具:让并发更简单
java·开发语言
Nebula_g9 小时前
JavaSE基础语法:面向对象高级(代码中的成分)
java·开发语言·编程·javase·技术栈·高级语法
for_ever_love__9 小时前
python基础语法学习: 异常的传递性
开发语言·python·学习
AC赳赳老秦9 小时前
公开图片 OCR 数据提取:OpenClaw 合规采集公开信息图,识别文字与表格并转化为结构化数据
java·大数据·前端·数据库·python·php·openclaw