Java--类继承

主要内容

  1. 学生类
  2. 交通工具类
  3. 圆类

一.学生类

具有属性:姓名、年龄、学位。由学生类派生出本科生类和研究生类,本科生类
增加属性:专业,研究生类增加属性:研究方向,每个类都有 show()方法,用于输出属性信息。

1.源代码

代码如下(示例):
package test;
class Student1{private String name;private int age;private String degree;public Student1(String name, int age, String degree) {super();//Java 的规定:子类继承父类,子类的构造方法必须调用//super()即父类的构造方法,而且必须放在构造方法的第一行this.name = name;this.age = age;this.degree = degree;}public Student1() {super();}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 String getDegree() {return degree;}public void setDegree(String degree) {this.degree = degree;}public void show(){System.out.println("姓名:" + this.getName() + " 年龄:" + this.getAge() 
+ " 学位:" + this.getDegree() );}
}
class Undergraduate extends Student1{ //本科类private String specialty;//专业public String getSpecialty() {return specialty;}public void setSpecialty(String specialty) {this.specialty = specialty;}public Undergraduate(String name, int age, String degree, String specialty) 
{super(name, age, degree);this.specialty = specialty;}public void show(){System.out.println("姓名:" + this.getName() + " 年龄:" + this.getAge() 
+ " 学位:" + this.getDegree() + " 专业:" + this.getSpecialty());}
}
class Graduate extends Student1{ //研究生类private String direction;public String getDirection() {return direction;}public void setDirection(String direction) {this.direction = direction;}public Graduate(String name, int age, String degree, String direction) {super(name, age, degree);this.direction = direction;}public void show(){System.out.println("姓名:" + this.getName() + " 年龄:" + this.getAge() 
+ " 学位:" + this.getDegree() + " 研究方向:" + this.getDirection());}
}
public class student {public static void main(String[] args) {Undergraduate stu1=new Undergraduate("张三",20,"本科","物联网工程");Graduate stu2=new Graduate("李四",24,"硕士","计算机科学与技术");stu1.show();stu2.show();}
}

2.结果

在这里插入图片描述

二.交通工具类

属性包括:速度、类别、颜色;方法包括:设置速度、设置颜色、取得类别、取得颜色。
设计一个小车类继承自交通工具类,新增属性:座位数,增加设置和获取座位数的方法,创建小车类对象,为其设置新的颜色和速度,并显示所有属性 信息。

1.源代码

代码如下(示例):
class transport {private int speed;private String classify;private String color;transport(int speed,String classify,String color){this.speed=speed;this.classify=classify;this.color=color;}public int getspeed() {return speed;}public void setspeed(){this.speed=speed;}public String getclassify() {return classify;}public void setclassify(){this.classify=classify;}public String getcolor() {return color;}public void setcolor(){this.color=color;}public void show(){System.out.println("速度 "+this.getspeed()+" 类别
"+this.getclassify()+" 颜色 "+this.getcolor());}public static void main(String[] args) {car c1 = new car(100, "宝马", "白色", 4);c1.show();}
}
class car extends transport{private int number;public int getnumber() {return number;}public void setnumber(){this.number=number;}car(int speed,String classify,String color,int number){super(speed,classify,color);this.number=number;}public void show(){System.out.println("速度 "+this.getspeed()+" 类别
"+this.getclassify()+" 颜色 "+this.getcolor()+" 座位数
"+this.getnumber());}
}

2.结果

在这里插入图片描述

三.圆类

具有属性:圆心坐标 x和 y以及圆半径 r,具有设置和获取属性的方法,及计算周长和面积的方法。再设计一个圆柱体类继承自圆类,增加属性:高度,增加了设置和获取高度的方法,及计算表面积和计算体积的方法。创建圆柱体类对象,显示其所有属性信息,计算并显示其面积和体积。

1.源代码

代码如下(示例):
package test;
class Circle {double x;double y;double r;Circle(double x, double y, double r) {this.x = x;this.y = y;this.r = r;}public void setX(double x) {this.x = x;}public void setY(double y) {this.y = y;}public void setR(double r) {this.r = r;}public double getX() {return x;}public double getY() {return y;}public double getR() {return r;}public double area() {return r * r * Math.PI;}public double perimeter() {return 2 * r * Math.PI;}public void show() {System.out.print("x=" + x + ", y=" + y + ", Radius=" + r);}
}
class Cylinder extends Circle {double h;Cylinder(double x, double y, double r, double h) {super(x, y, r);this.h = h;}public void setH(double h) {this.h = h;}public double getH() {return h;}public double area() {return perimeter() * h + super.area() * 2;}public double volume() {return super.area() * h;}public static void main(String[] args) {Cylinder cylinder = new Cylinder(2, 3, 4, 5);cylinder.show();System.out.println(", Height=" + cylinder.getH());System.out.println("面积=" + cylinder.area());System.out.println("体积=" + cylinder.volume());}
}

2.结果

在这里插入图片描述


总结

以上是今天要讲的内容,学习了类继承。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/637428.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C 练习实例33 - 质数(素数)判断

题目:判断一个数字是否为质数。 程序分析:质数(prime number)又称素数,有无限个。一个大于1的自然数,除了1和它本身外,不能被其他自然数整除。 这题做过很多遍了,懂得都懂。 代码…

Raft算法详解(一):介绍

简单介绍 Raft是一种一致性算法,它包含了几个部分分别是领导者选举、日志复制、日志压缩和安全性。 角色 在Raft算法执行时存在着三种角色,分别是领导者(Leader)、追随者(Follower)以及竞选者&#xff0…

ChatGLM vs ChatGPT

所有的NLP大模型 都是transformer结构 1.Mask attention 的策略不同 2.训练任务目标不同 国内大模型nb公司:百度、清华智谱 一、主流大模型 粉色:Encoder-only。 绿色:Encoder-Decoder,尽头智谱ChatGLM。 蓝色:…

【MongoDB】下载安装、指令操作

目录 1.下载安装 2.指令 2.1.基础操作指令 2.2.增加 2.3.查询 2.4.修改 2.5.删除 前言: 关于MongoDB的核心概念请移步: 【文档数据库】ES和MongoDB的对比-CSDN博客 1.下载安装 本文以安装Windows版本的mongodb为例,Linux版本的其实…

三、arcgispro二次开发创建第一个工程

忙了几天,总算可以创建第一工程了。 步骤一: 步骤二: 工具介绍: 项目创建成功:项目目录在解决方案资源管理器中,整个工具都是动态可调整的,如下图: 想把窗口放哪里就把鼠标移到红…

Linux重定向:深入理解与实践

🎬慕斯主页:修仙—别有洞天 ♈️今日夜电波:晴る—ヨルシカ 0:20━━━━━━️💟──────── 4:30 🔄 ◀️ ⏸ ▶️ ☰ &…

DFA有穷自动机敏感词过滤算法

1.EndType package com.example.utils.wordfilter;/*** 结束类型定义*/ public enum EndType {/*** 有下一个,结束*/HAS_NEXT, IS_END } 2.WordType package com.example.utils.wordfilter;/*** 词汇类型*/ public enum WordType {/*** 黑名单/白名单*/BLACK, WHITE } 3.F…

RHEL - 更新升级软件或系统

《OpenShift / RHEL / DevSecOps 汇总目录》 文章目录 小版本软件更新yum update 和 yum upgrade 的区别升级软件和升级系统检查软件包是否可升级指定升级软件使用的发行版本方法1方法2方法3方法4 查看软件升级类型更新升级指定的 RHSA/RHBA/RHEA更新升级指定的 CVE更新升级指定…

L1-069 胎压监测(Java)

小轿车中有一个系统随时监测四个车轮的胎压,如果四轮胎压不是很平衡,则可能对行车造成严重的影响。 让我们把四个车轮 —— 左前轮、右前轮、右后轮、左后轮 —— 顺次编号为 1、2、3、4。本题就请你编写一个监测程序,随时监测四轮的胎压&…

Java中的包、类、接口说明

写在开头 包、类、接口、方法、变量、参数、代码块,这些都是构成Java程序的核心部分,即便最简单的一段代码里都至少要包含里面的三四个内容,这两天花点时间梳理了一下,理解又深刻了几分。 Java中的包 Java 定义了一种名字空间,称之为包:package。一个类总是属于某个包…

Servlet系列:两种创建方式(xml,注解)

一、使用web.xml的方式配置(Servlet2.5之前使用) 在早期版本的Java EE中,可以使用XML配置文件来定义Servlet。在web.xml文件中,可以定义Servlet的名称、类名、初始化参数等。然后,在Java代码中实现Servlet接口&#x…

数据结构---数组

一、基本概念 1. 存放一组相同数据类型的集合 2.在内存中,分配连续的空间,数组创建时要指定大小 3. 定义 数据类型 [] 数组名 // 1.定义一个数组,里面的元素包含10, 20, 24, 17, 35, 58, 45, 74 int arr[] {10, 20, 24, 17, 35, 58, 45, 74}; 4. 获取数组的长度 int lengt…

wayland(xdg_wm_base) + egl + opengles 最简实例

文章目录 前言一、ubuntu 下相关环境准备1. 获取 xdg_wm_base 依赖的相关文件2. 查看 ubuntu 上安装的opengles 版本3. 查看 weston 所支持的 窗口shell 接口种类二、xdg_wm_base 介绍三、egl_wayland_demo1.egl_wayland_demo2_0.c2.egl_wayland_demo3_0.c3. xdg-shell-protoco…

Chatopera 云服务支持大语言模型对话(LLM),定制您的聊天机器人

2024 年,Chatopera 云服务继续不断完善,为开发者提供最好的定制聊天机器人的工具。在过去的一年,用户们反映最多的建议是 Chatopera 云服务内置大语言模型的对话,今天 Chatopera 云服务完成了产品升级,满足了这个诉求。…

HCIP-BGP选路实验

一.实验拓扑图 二.详细配置 R1 interface GigabitEthernet0/0/0 ip address 12.1.1.1 255.255.255.0interface LoopBack0 ip address 1.1.1.1 255.255.255.0interface LoopBack1 ip address 10.1.1.1 255.255.255.0bgp 1 router-id 1.1.1.1 peer 12.1.1.2 as-number 2ipv4-fa…

Python MySQL 数据库查询:选择数据、使用筛选条件、防止 SQL 注入

从表格中选择数据 要从MySQL中的表格中选择数据,请使用"SELECT"语句: 示例选择"customers"表格中的所有记录,并显示结果: import mysql.connectormydb mysql.connector.connect(host"localhost"…

模型服务网格:云原生下的模型服务管理

作者:王夕宁 模型服务网格(Model Service Mesh)是一种架构模式,用于在分布式环境中部署和管理机器学习模型服务。它提供了一个可扩展的、高性能的基础架构,用于将多个模型服务进行管理、部署和调度,以此更…

0基础开发EtherNet/IP:协议格式,JAVA、C#、C++处理

经过一阵倒腾,把CIP、Ethernet/ip协议搞到手 协议的概念和理论就不提及了,上网随便一搜索EtherNet/IP遍地都是。 直接将协议关键点列举出来吧。 更多协议资料 www.jngbus.com 通讯软件群 30806722 这里讲解的是TCP和UDP协议的格式,EtherN…

vue.config.js中打包相关配置

1.原始篇 let path require(path); const webpack require(webpack); const ThemeColorReplacer require(webpack-theme-color-replacer); const { getThemeColors, modifyVars } require(./src/utils/themeUtil); const { resolveCss } require(./src/utils/theme-color…

Python并发与多线程:并发网络通信模型

在Python中,有多种方式可以实现并发网络通信模型,其中包括多线程、多进程、协程和异步IO等。在本篇中,我们主要讨论多线程实现并发网络通信的方法。 使用多线程可以在一个程序中同时处理多个网络连接,从而提高程序的性能和效率。…