java(继承+封装+多态)编程:定义一个人类(Person),包括属性:姓名、性别、年龄、国籍;包括的方法:吃饭、睡觉,工作

这篇具有很好参考价值的文章主要介绍了java(继承+封装+多态)编程:定义一个人类(Person),包括属性:姓名、性别、年龄、国籍;包括的方法:吃饭、睡觉,工作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

(继承+封装)编程:定义一个人类(Person),包括属性:姓名、性别、年龄、国籍;
                                    包括的方法:吃饭、睡觉,工作
(1)根据人类,定义一个学生子类,增加属性:学校、学号;重写工作方法(实现内容为学习)
(2)根据人类,定义一个工人类,增加属性:单位、工龄;重写工作方法
(3)根据学生类,定义一个学生干部类(StudentLeader),增加属性:职务;增加方法:开会
(4)定义一个测试类,分别创建上述3类具体人物的对象并将信息打印在控制台上.
public class Person {
    private String name;
    private String sex;
    private int age;
    private String nationality;

    public Person() {
    }

    public Person(String name, String sex, int age, String nationality) {
        this.name = name;
        this.sex = sex;
        this.age = age;
        this.nationality = nationality;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getNationality() {
        return nationality;
    }

    public void setNationality(String nationality) {
        this.nationality = nationality;
    }

    public void eat(){
        System.out.println("吃饭");
    }
    public void sleep(){
        System.out.println("睡觉");
    }
    public void jop(){
        System.out.println("工作");
    }

    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", sex='" + sex + '\'' +
                ", age=" + age +
                ", nationality='" + nationality + '\'' +
                '}';
    }
}
class StuentPerson extends Person{
    private String school;
    private int id;

    public StuentPerson() {
    }

    public StuentPerson(String school, int id) {
        this.school = school;
        this.id = id;
    }

    public StuentPerson(String name, String sex, int age, String nationality, String school, int id) {
        super(name, sex, age, nationality);
        this.school = school;
        this.id = id;
    }

    public String getSchool() {
        return school;
    }

    public void setSchool(String school) {
        this.school = school;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    @Override
    public void jop() {
        System.out.println("学生学习");
    }
}
class WorkerPenson extends Person{
    private String workplace;
    private int seniority;

    public WorkerPenson() {
    }
    public WorkerPenson(String workplace, int seniority) {
        this.workplace = workplace;//单位
        this.seniority = seniority;//工龄
    }

    public WorkerPenson(String name, String sex, int age, String nationality, String workplace, int seniority) {
        super(name, sex, age, nationality);
        this.workplace = workplace;
        this.seniority = seniority;
    }

    public String getWorkplace() {
        return workplace;
    }

    public void setWorkplace(String workplace) {
        this.workplace = workplace;
    }

    public int getSeniority() {
        return seniority;
    }

    public void setSeniority(int seniority) {
        this.seniority = seniority;
    }

    @Override
    public void jop() {
        System.out.println("工人工作");
    }
}
class StudentLeader extends StuentPerson{
    private String post;//职务

    public StudentLeader() {
    }
    public StudentLeader(String post) {
        this.post = post;
    }

    public StudentLeader(String school, int id, String post) {
        super(school, id);
        this.post = post;
    }

    public StudentLeader(String name, String sex, int age, String nationality, String school, int id, String post) {
        super(name, sex, age, nationality, school, id);
        this.post = post;
    }

    public String getPost() {
        return post;
    }

    public void setPost(String post) {
        this.post = post;
    }

    public void meeting(){
        System.out.println("学生干部开会");
    }

}
class PensonTest{
    public static void main(String[] args) {
        StuentPerson stuentPerson = new StuentPerson("张三","男",21,"中国","四川工业",101);
        stuentPerson.jop();
        System.out.println(stuentPerson.getName()+stuentPerson.getSex()+stuentPerson.getAge()+stuentPerson.getNationality()+stuentPerson.getSchool()+stuentPerson.getId());

        WorkerPenson workerPenson = new WorkerPenson("李四","女",32,"中国","中信银行",3);
        workerPenson.jop();
        System.out.println(workerPenson.getName()+workerPenson.getSex()+workerPenson.getAge()+workerPenson.getNationality()+workerPenson.getWorkplace()+workerPenson.getSeniority());

        StudentLeader studentLeader = new StudentLeader("学生会主席");
        studentLeader.jop();
        studentLeader.meeting();
        System.out.println(stuentPerson.getName()+stuentPerson.getSex()+stuentPerson.getAge()+stuentPerson.getNationality()+stuentPerson.getSchool()+stuentPerson.getId()+studentLeader.getPost());

        stuentPerson.eat();
        stuentPerson.sleep();

        workerPenson.eat();
        workerPenson.sleep();

        studentLeader.eat();
        studentLeader.sleep();


    }
}
(多态)在上一个题目的基础上,定义一个Person类型的数组,存储多个不同类型的子类型对象,
(1)统计并打印输出数组中所有学生干部的个数
(2)打印输出所有学生的信息

public abstract class Person {
    private String name;
    private String sex;
    private int age;
    private String nationality;

    public Person() {
    }

    public Person(String name, String sex, int age, String nationality) {
        this.name = name;
        this.sex = sex;
        this.age = age;
        this.nationality = nationality;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public String getNationality() {
        return nationality;
    }

    public void setNationality(String nationality) {
        this.nationality = nationality;
    }

    public void eat() {
        System.out.println("吃饭");
    }

    public void sleep() {
        System.out.println("睡觉");
    }

    public abstract void jop();

    @Override
    public String toString() {
        return "姓名='" + name + '\'' +
                ", 性别='" + sex + '\'' +
                ", 年龄=" + age +
                ", 国籍='" + nationality;
    }
}

class StudentPerson extends Person {
    private String school;
    private int id;

    public StudentPerson() {
    }

    public StudentPerson(String school, int id) {
        this.school = school;
        this.id = id;
    }

    public StudentPerson(String name, String sex, int age, String nationality, String school, int id) {
        super(name, sex, age, nationality);
        this.school = school;
        this.id = id;
    }

    public String getSchool() {
        return school;
    }

    public void setSchool(String school) {
        this.school = school;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    @Override
    public void jop() {
        System.out.println("学生学习");
    }

    @Override
    public String toString() {
        return super.toString()+" ,学校:"+school+" ,学号:"+id;
    }
}

class WorkerPenson extends Person {
    private String workplace;
    private int seniority;

    public WorkerPenson() {
    }

    public WorkerPenson(String workplace, int seniority) {
        this.workplace = workplace;//单位
        this.seniority = seniority;//工龄
    }

    public WorkerPenson(String name, String sex, int age, String nationality, String workplace, int seniority) {
        super(name, sex, age, nationality);
        this.workplace = workplace;
        this.seniority = seniority;
    }

    public String getWorkplace() {
        return workplace;
    }

    public void setWorkplace(String workplace) {
        this.workplace = workplace;
    }

    public int getSeniority() {
        return seniority;
    }

    public void setSeniority(int seniority) {
        this.seniority = seniority;
    }

    @Override
    public void jop() {
        System.out.println("工人工作");
    }

    @Override
    public String toString() {
        return super.toString()+" ,单位:"+workplace+" ,工龄:"+seniority;
    }
}

class StudentLeader extends StudentPerson {
    private String post;//职务

    public StudentLeader() {
    }

    public StudentLeader(String post) {
        this.post = post;
    }

    public StudentLeader(String school, int id, String post) {
        super(school, id);
        this.post = post;
    }

    public StudentLeader(String name, String sex, int age, String nationality, String school, int id, String post) {
        super(name, sex, age, nationality, school, id);
        this.post = post;
    }

    public String getPost() {
        return post;
    }

    public void setPost(String post) {
        this.post = post;
    }

    public void meeting() {
        System.out.println("学生干部开会");
    }

    @Override
    public String toString() {
        return super.toString()+"职务:"+post;
    }
}

class PersonTest {
    public static void main(String[] args) {
        WorkerPenson worker = new WorkerPenson("张三","男",23,"中国","中国石油",2);
        Person worker1 = new WorkerPenson("李四","男",30,"中国","中国联通",6);

        StudentPerson studentPerson = new StudentPerson("马瑞","女",30,"中国","四川工业",101);
        Person studentPerson1 = new StudentPerson("杰克","女",23,"中国","西南财经",201);

        StudentLeader studentLeader = new StudentLeader("汤姆","男",34,"中国","四川工业",108,"文体部");
        Person studentLeader1 = new StudentLeader("肉丝","男",19,"中国","西南",112,"外联部");
        Person studentLeader2 = new StudentLeader("白菜","男",20,"中国","西南",333,"全媒体");
        Person[] person = new Person[]{worker,worker1,studentPerson,studentPerson1,studentLeader,studentLeader1,studentLeader2};

        int count=0;
        for (int i=0;i<person.length;i++){
            if ((person[i] instanceof StudentLeader)==true){
                    count++;
            }
            if ((person[i] instanceof StudentPerson) ==true){
                System.out.println(person[i].toString());
            }
        }
        System.out.println("学生干部的个数为:"+count);
    }
}

文章来源地址https://www.toymoban.com/news/detail-719764.html

到了这里,关于java(继承+封装+多态)编程:定义一个人类(Person),包括属性:姓名、性别、年龄、国籍;包括的方法:吃饭、睡觉,工作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java三大特性:封装、继承、多态

    高内聚,低耦合 高内聚:类内部操作自己完成,不允许外部干涉。 低耦合:仅暴露少量的方法给外部使用。 封装(数据的隐藏) 通常应禁止直接访问一个对象中数据的实际表达,而应该通过操作接口来访问,这称为信息的隐藏。 封装的特点 1.提高程序的安全性,保护数据

    2024年03月21日
    浏览(46)
  • Java 封装 继承 多态(深入理解)

    登神长阶 第二阶 封装 继承 多态 🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀🍀 目录 🍒一.面向对象编程的三大特性 🍍二.封装 🧉1.定义及其作用  🥝2.访问限定符 🫛3.封装扩展 包(package) 🥕3.1.定义及其作用  🥦 3.2.导入包的类 🍔3.3.自定义包 🌯

    2024年03月11日
    浏览(97)
  • Java系列——封装、继承、多态初了解

    目录 一、前言 二、封装 1.什么是封装?   2.封装的特点 3.封装的使用 三、继承 1.什么是继承? 2.继承的特点 3.继承的优点 4.继承的使用  4.1 继承的格式  4.2 继承的演示 4.3 成员变量 4.4 成员方法 4.5 构造方法 五、多态 1.什么是多态? 2.多态的特点 3.多态的使用  4.引用类型

    2024年02月08日
    浏览(41)
  • 【Java初阶(六)上】封装 继承 多态

    ❣博主主页: 33的博客❣ ▶文章专栏分类: Java从入门到精通◀ 🚚我的代码仓库: 33的代码仓库🚚 对于面向对象程序三大特性:封装、继承、多态。这篇文章将会详细讲解到如何实现封装、继承、多态,以及具体的应用。 本章重点 掌握封装的概念,如何实现封装,包的概念,继

    2024年04月09日
    浏览(45)
  • Java面向对象 - 封装、继承和多态

    目录 第1关:什么是封装,如何使用封装 第2关:什么是继承,怎样使用继承 第3关:super的使用 第4关:方法的重写与重载 第5关:抽象类 第6关:final的理解与使用 第7关:接口 第8关:什么是多态,怎么使用多态 Java_Educoder

    2024年02月07日
    浏览(78)
  • Educoder/头歌JAVA——JAVA面向对象:封装、继承和多态的综合练习

    目录 第1关:封装、继承和多态进阶(一) 相关知识 面向对象思想 封装 继承 组合和继承 构造函数 super()和this() 编程要求 第2关:封装、继承和多态进阶(二) 相关知识 重写和重载 abstract(抽象类)和interface(接口) final static static的作用 多态 编程要求 第

    2024年02月04日
    浏览(53)
  • 【Java SE语法篇】8.面向对象三大特征——封装、继承和多态

    📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️ 面向对象三大特性:封装、继承和多态。 在面向对象程式设计方法中,封装(英语:Encapsulation)是指一种将抽象性函式接口的实现细节部

    2024年02月01日
    浏览(57)
  • 01 java 学习 数据类型、基础语法、封装、继承、多态、接口、泛型、异常等

    目录 环境搭建和基础知识  什么是JRE: 什么是JDK: 基础数据类型  分支选择if else switch和c一毛一样 for和while循环还有数组基本和c一样 封装 函数调用、传参、命名规范、数组新命名规范 java输入Scanner scanner = new Scanner(System.in); 类的创建和使用以及封装修饰符  构造方法:含义、

    2024年02月11日
    浏览(41)
  • 图书管理借阅系统【Java简易版】Java三大特征封装,继承,多态的综合运用

    前言 前几篇文章讲到了Java的基本语法规则,今天我们就用前面学到的数组,类和对象,封装,继承,多态,抽象类,接口等做一个图书管理借阅系统。 Java语言是面向对象的,所以首先要分析完成这个图书管理系统,有哪些对象: 👱使用者User 📘书Book 📲操作Operation 使用者

    2024年02月14日
    浏览(42)
  • python 面向对象编程的特点 - 封装 - 继承(经典类、新式类) - 多态 - 静态方法、类方法 - 下划线的使用 - 回合制攻击游戏实验

    目录 面向对象编程的特点: 封装:封装是将数据和操作(方法)封装在一个对象中的能力 继承:继承是指一个类(子类)可以继承另一个类(父类)的属性和方法。 我们为什么需要继承呢? 父类/基类 = ATM 子类/派生类= ChinaATM/ICBCATM ATM系统父类子类讲解代码: 经典类和新式

    2024年02月15日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包