定义一个Person类,其中包括:1.定义属性:姓名、年龄、民族作为成员变量。定义静态成员变量:人数2.定义构造方法:对成员变量进行初始化。3.定义多个方法:分别显示相应的属性值,例如getName(...

2023-10-31

题目显示不全,完整题目描述:

(1)定义一个Person类,其中包括:1.定义属性:姓名;年龄;民族作为成员变量。定义静态成员变量:人数2.定义构造方法:对成员变量进行初始化。3.定义多个方法:分别显示相应的属性值,例如getName(){System.out.print("名称="+name+";"); }4.定义一个方法“成长”:实现年龄的增加,每执行一次年龄增加1。5.定义一个静态方法“显示人数”:显示当前的人数。 (2)定义一个民族接口其中包括抽象方法:1.“习俗”:显示民族习俗。2.“政策”:民族优待政策。3.编译生成.class文件。 (3)定义一个“学生”类继承Person类,实现(2)中定义的民族接口。1.增加属性:“学历”,定义为字符串类型,表示本科生还是研究生。2.定义两个构造方法:构造方法重载;3.覆盖父类中的方法“成长”:实现根据年龄显示是研究生还是本科生,年龄小于23是本科生,否则是研究生。其中还要调用父类的“成长”方法,实现年龄的增加。4.实现接口中的两个抽象方法“习俗”和“政策”。“习俗”实现功能为:显示“春节,端午,中秋”等。 “政策”实现功能为:根据“民族”的值如果是汉族,显示“无”,否则显示“有优惠政策”。5.定义一个main方法。实例化一个父类对象,调用各种方法显示相关信息,然后,实例化一个学生类对象,分别调用相关方法,包括继承来的各种方法,进行覆盖后的方法等,实现多态效果,显示各种信息。

完整代码如下:

package naizi;

class Person {

protected String Name;
protected int Age;
protected String Nationality;
public static int count=0;

Person(String Name,int Age,String Nationality){
    this.Name = Name;
    this.Age = Age;
    this.Nationality = Nationality;
    count++;
}

//显示属性值
public void getName() {
    System.out.println("Name="+Name+";");
}
public void getAge() {
    System.out.println("Age="+Age+";");
}
public void getNationality() {
    System.out.println("Nationality="+Nationality+";");
}

//成长方法
public void growUp(){
    Age++;
}

//显示人数方法
public void show(){
    System.out.println("Person count:"+count+";");
}
}


//定义Nationality接口 
interface Nationality{
    public void custom();
    public void policy();
}


//定义一个Student类继承Person类,实现Nationality接口
public class Student extends Person implements Nationality{

    //子类的新成员变量
    protected String Education;

    //子类的构造方法调用父类的构造方法
    Student(String Name,int Age,String Nationality,String Education){
        super(Name, Age, Nationality);
        this.Name = Name;
        this.Age = Age;
        this.Nationality = Nationality;
        this.Education = Education;
    }

    //构造方法的重载,并且默认如果一个学生没有传入民族,默认为汉族
    Student(String Name,String Education){
        this(Name, 0, "han", Education);
        this.Name = Name;
        this.Education = Education;
    }

    //覆盖父类的成长方法
    public void growUp(){
        if("Undergraduate".equals(Education)){
            System.out.println("Undergraduate;");
        }else {
            System.out.println("Postgraduate;");
        }
        Age++;
        super.growUp();
    }
    public void custom(){
        System.out.println("Spring Festival, Dragon Boat Festival, Mid-Autumn Festival");
    }
    public void policy(){
        if("han".equals(Nationality)){
            System.out.println("No preferential policies;");
        }else {
            System.out.println("Have preferential policies;");
        }
    }

    //请参考main函数的内容编写以上内容 
    public static void main(String args[]){ 
        Person a=new Person("zhangsan",19,"han"); 
        a.getName(); 
        a.getAge(); 
        a.getNationality(); 
        a.growUp(); 
        a.getAge(); 
        a.show(); 

        Person b=new Person("lisi",39,"man"); 
        b.getName(); 
        b.getAge(); 
        b.getNationality(); 
        b.growUp(); 
        b.getAge(); 
        b.show(); 

        Student c=new Student("wanger",33,"man","Postgraduate"); 
        c.growUp(); 
        c.custom(); 
        c.policy(); 
        c.show(); 

        Student d=new Student("wanger","Undergraduate"); 
        d.growUp(); 
        d.custom(); 
        d.policy(); 
        d.show(); 
        } 
    }

测试如图:

Wf5EfeU.png

转载于:https://www.cnblogs.com/zqm-sau/p/9763530.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

定义一个Person类,其中包括:1.定义属性:姓名、年龄、民族作为成员变量。定义静态成员变量:人数2.定义构造方法:对成员变量进行初始化。3.定义多个方法:分别显示相应的属性值,例如getName(... 的相关文章

  • 在 JavaFX 中拖动未装饰的舞台

    我希望将舞台设置为 未装饰 使其可拖动且可最小化 问题是我找不到这样做的方法 因为我遇到的示例是通过插入到主方法中的方法来实现的 我想通过控制器类中声明的方法来完成此操作 就像我如何使用下面的 WindowClose 方法来完成此操作 这是
  • perl 和 java 正则表达式功能之间有什么区别?

    perl 和 java 在支持哪些正则表达式术语方面有什么区别 这个问题仅涉及正则表达式 并且特别排除了how可以使用正则表达式 即使用正则表达式的可用函数 方法 以及语言之间的语法差异 例如java要求转义反斜杠等 特别令人感兴趣的是 j
  • 在java中是否可以使用反射创建没有无参数构造函数的“空白”类实例?

    我有一个没有默认构造函数的类 我需要一种方法来获取此类的 空白 实例 空白 意味着实例化后所有类字段都应具有默认值 如 null 0 等 我问这个问题是因为我需要能够序列化 反序列化大对象树 而且我无法访问该对象类的源 并且类既没有默认构造
  • 驱动程序信息:driver.version:未知,使用 ChromeDriver v78.0.3904.70 和 Chrome 浏览器 v78.0.3904.97

    我使用的是java 1 8和chrome浏览器版本78 0 3904 97 我正在尝试使用 chrome 驱动程序版本执行我的 selenium 脚本代码78 0 3904 70 但在执行时我面临以下问题并且 chrome 立即崩溃 Pic
  • Python `concurrent.futures`:根据完成顺序迭代 future

    我想要类似的东西executor map 除了当我迭代结果时 我想根据完成的顺序迭代它们 例如首先完成的工作项应该首先出现在迭代中 等等 这样 当且仅当序列中的每个工作项尚未完成时 迭代就会阻塞 我知道如何使用队列自己实现这一点 但我想知道
  • 使用 include 进行 JAXB 剧集编译不起作用

    我有 2 个模式 A B 我在 B 中重用了一些 A 元素 我不使用命名空间 我在用着
  • Akka 和 spring 配置

    我正在尝试将 akka 与 spring 结合起来 但没有成功 基本上 我的应用程序似乎不习惯读取 akka 模式 具有架构的 service context xml 的一部分
  • 多对多不检索映射数据

    Spring boot 2 5 6 我无法安装版本 概要文件 java Getter Setter NoArgsConstructor AllArgsConstructor EqualsAndHashCode FieldDefaults l
  • django 中的“管理器”是什么?

    我已经阅读了Django官方中的定义文档 https docs djangoproject com en dev topics db managers 我仍然对什么感到困惑Manager does 文档说它们允许您操作数据库表 模型 但我仍
  • 让 TensorFlow 在 ARM Mac 上使用 GPU

    我已经安装了TensorFlow在 M1 上 ARM Mac 根据这些说明 https github com apple tensorflow macos issues 153 一切正常 然而 模型训练正在进行CPU 如何将培训切换到GPU
  • 链表中的虚拟节点

    问 什么时候使用它们 作业问题 列表中的第一个和最后一个节点 有时用作列表中的第一个和最后一个节点 从未用作列表中的第一个和最后一个节点 维基百科说 哨兵节点是与链接一起使用的专门指定的节点 列表和树作为遍历路径终止符 哨兵节点的作用是 不
  • 如何让 Python 找到 ffprobe?

    I have ffmpeg and ffprobe安装在我的 mac macOS Sierra 上 并且我已将它们的路径添加到 PATH 中 我可以从终端运行它们 我正在尝试使用ffprobe使用以下代码获取视频文件的宽度和高度 impor
  • 如何使用 Ajax 在 Flask 中发布按钮值而不刷新页面?

    我有一个问题 当我单击 Flask 应用程序中的按钮时 我想避免重新加载 我知道有 Ajax 解决方案 但我想知道如何将我的按钮链接到 ajax 函数以发布按钮值并运行链接到其值的 python 函数 这是我的 html 按钮 div di
  • 如何告诉 IntelliJ 使用 Java 1.6 JDK 启动 gradle?

    一个简单的问题 即使经过几个小时的尝试和搜索 我也无法弄清楚 我安装了 Java 6 和 7 如何告诉 IntelliJ 使用 JDK 版本 1 6 启动 Gradle 构建 无论我做什么 IntelliJ 都会以以下方式开始我的 grad
  • Apache HttpClient TCP Keep-Alive(套接字保持活动)

    我的 http 请求需要太多时间才能被服务器处理 大约 5 分钟 由于连接闲置 5 分钟 代理服务器将关闭连接 我正在尝试在 Apache DefaultHttpClient 中使用 TCP Keep Alive 来使连接长时间处于活动状态
  • 如何使用 Nimbus LookAndFeel 更改 JToolTip 的背景颜色?

    在使用 Nimbus LookAndFeel 的基于 Swing 的 Java 应用程序中 我尝试设置工具提示的背景颜色 因此 我创建了 JToolTip 的子类 并通过重写 createToolTip 在我的组件中使用它 到目前为止一切正
  • Python 可以替代 Java 小程序吗?

    除了制作用于物理模拟 如抛射运动 重力等 的教育性 Java 小程序之外 还有其他选择吗 如果你想让它在浏览器中运行 你可以使用PyJamas http pyjs org 这是一个 Python 到 Javascript 的编译器和工具集
  • Django 迁移错误 'TypeError: 序列项 1: 需要一个类似字节的对象,在 mysql-connector-pythoncursor_cent.py 文件上找到 str'

    我正在 Django 项目中使用 mysql connector 来处理 mysql 请求 问题是我正在使用 django admin startproject project 设置一个简单的项目 当我尝试进行简单的管理 py 迁移时 这是
  • Matplotlib 渲染日期、图像的问题

    我在使用 conda forge 的 Matplotlib v 3 1 3 和 python 3 7 时遇到问题 我拥有 Matplotlib 所需的所有依赖项 当我输入这段代码时 它应该可以工作 我得到了泼溅艺术 它基于此 YouTube
  • 使用Python的线程模块调用ctypes函数比使用多处理更快?

    我一生都无法找出这个问题的答案 我编写了一个可以执行数百次繁重计算的脚本 我有一个绝妙的主意 将这些计算任务编写为 C 然后使用 Python 的 ctypes 与它们交互 我心想 我什至可以使用并行性进一步优化它 我最初的方法是使用线程

随机推荐