java的继承特性和方法重写

news2025/1/22 21:38:31

java的继承特性和方法重写

Java的继承特性是一种面向对象编程的重要概念,它允许我们基于已有的类创建新的类,并且保留了已有的类的一些特性。这是通过使用"继承"这个关键词来实现的,新创建的类称为子类(subclass),已有的类称为父类(superclass)。
在java中一个子类可以有多个父类也叫多继承,子类会继承父类里的属性,当然父类也可以通过Private来对继承的属性进行控制

方法继承

继承通过使用extends关键字来继承父类,演示代码如下
先定义一个学生类

import java.util.Scanner;

public class student  {
    public String name;
    public int course;
    public int age;
    public void behavior(){
          System.out.println("I am student");
    }
}

在定义一个继承类

import java.security.PrivateKey;
import java.util.Scanner;

class Inherit extends student{
    public void behavior() {
    System.out.println("我是一个学生");

    }
}

这样这个继承类就继承了student的属性
这样我们看不出来 我们新定义一个类,对他进行调用

import  java.util.*;
public class Xl {

    public static void main(String[] args) {
        Inherit stu1 =new Inherit();
        stu1.name = "张三";
        stu1.age = 18;
        System.out.println("姓名:" + stu1.name + " 年龄:" + stu1.age);
    }
}

可以看到我们继承类中没有名字年龄的属性因为继承的关系也存在了这些属性
在这里插入图片描述

重写

Java中的方法重写(Method Overriding)是指在子类中重新定义(或覆盖)其父类中的同名方法,使其具有不同的实现。当子类对象调用该方法时,将执行子类中的方法实现,而不是父类中的实现。

方法重写的前提是子类与父类之间存在继承关系,且子类中的方法与父类中的方法具有相同的方法名、参数列表和返回类型。在子类中定义与父类同名的方法时,需要在方法前面使用@Override注解,这样可以帮助编译器检查是否正确地重写了父类中的方法。

使用方法重写可以在不同的子类中实现相同的行为,但是具体的实现方式可以根据子类的需求进行定制。方法重写是面向对象编程中实现多态性的一个重要手段。

接下来用代码进行演示 还是刚才那个继承代码我们在里面是定义了一个behavior()成员方法的但是父类也有这个方法这个方法就不会被继承会进行重写输入为子类的成员方法
调用一下该方法

import  java.util.*;
public class Xl {

    public static void main(String[] args) {
        Inherit stu1 =new Inherit();
        stu1.behavior();
    }
}

在这里插入图片描述
我们可以看到输出的是子类的成员方法
这就是继承与方法重写

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

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

相关文章

c语言:十进制转任意进制

思路&#xff1a;如十进制转二进制 就是不断除二求余在除二求余&#xff0c;然后将余数从下到写出来&#xff0c;这样&#xff0c;10011100就是156的二进制 这里举例一个六进制的代码&#xff1a; #define _CRT_SECURE_NO_WARNINGS #include<stdio.h>int main() {int …

uniapp实现表单弹窗

uni.showModal({title: 删除账户,confirmColor:#3A3A3A,cancelColor:#999999,confirmText:确定,editable:true,//显示content:请输入“delete”删除账户,success: function (res) {console.log(res)if(res.confirm){if(res.contentdelete){console.log(123123123213)uni.setSto…

pmp敏捷十二个考点!考前必背!

自从PMP更换了新的考纲&#xff0c;考试中对于敏捷项目管理的知识比重越来越大。因此&#xff0c;掌握敏捷知识成为备考的重点。为了帮助大家更好地掌握敏捷知识点&#xff0c;我整理了12个敏捷考点&#xff0c;希望能对大家有所帮助&#xff01; 一、敏捷宣言十二原则改写如下…

低代码:数字化转型趋势下的快速开发方式

目录 一、前言 二、低代码是什么&#xff1f; 三、低代码如何提高生产力 开发工具JNPF介绍 产品分析 1可视化应用开发 2流程管理 3整个平台源码合作 四、小结 一、前言 通常&#xff0c;开发一个大型的企业级系统&#xff0c;公司往往需要大量的人力做支持后盾&#xff0c;如需…

音频采集的相关基础知识

本文引注: https://zhuanlan.zhihu.com/p/652629744 1.麦克风的种类 (1)模拟麦克风 ECM麦克风&#xff1a;驻极体电容麦克风(ECM)&#xff0c;典型的汽车ECM麦克风是一种将ECM单元与小型放大器电路整合在单个外壳中的装置。放大器提供一个模拟信号&#xff0c;其电压电平允许…

亚马逊买家号注册用手机好还是邮箱好

在亚马逊上注册买家号可以用邮箱也可以用手机号&#xff0c;但是具体哪种好&#xff0c;我们可以根据以下因素来进行选择&#xff1a; 1、手机号 短信验证&#xff1a;亚马逊可以通过短信向你发送验证码&#xff0c;以确保你的身份。使用手机号可能更方便接收这些验证码。 安…

sizeof和strlen的区别

目录 一、 sizeof 二、 strlen 三、 sizeof 和 strlen的对比 一、 sizeof 在学习操作符的时候&#xff0c;我们学习了 sizeof &#xff0c; sizeof 计算变量所占内存内存空间大小的&#xff0c;单位是字节&#xff0c;如果操作数是类型的话&#xff0c;计算的是使⽤类型创…

linux CentOS7.6安装jenkins(小白版本)

前言 本人是一个前端开发者&#xff0c;由于有时候需要发版自己的东西&#xff0c;所以想搞一个Jenkins玩玩&#xff0c;看了网上好多教程&#xff0c;但是都不是针对小白的&#xff0c;比如linux怎么输入&#xff0c;怎么结束&#xff0c;自己也是搞了好久踩了好多坑 所以记录…

电商领域的三大沉疴难题?实在智能RPA来帮你药到病除!

在电商市场规模迅速扩大的当下&#xff0c;厂家们为了保持自身的竞争力&#xff0c;纷纷走上了数智化转型的道路&#xff0c;明白学会使用自动化利器才是制胜之道。 如今从产业的生产线到运营商、物流运输、商品售前、商品售后&#xff0c;实在RPA在电商平台的应用已经十分广泛…

el-input限制输入整数等分析

文章目录 前言1、在 Vue 中&#xff0c;可以使用以下几种方式来限制 el-input 只能输入整数1.1 设置input 的 type为number1.2 使用inputmode1.3 使用自定义指令1.4 使用计算属性1.5 使用 onafterpaste ,onkeyup1.6 el-input-number 的precision属性 总结 前言 input 限制输入…

[点云分割] 欧式距离分割

效果&#xff1a; 代码&#xff1a; #include <iostream> #include <chrono>#include <pcl/ModelCoefficients.h> // 模型系数的定义 #include <pcl/io/pcd_io.h> #include <pcl/point_types.h> // 各种点云数据类型 #include <pcl/sample_c…

云南旅游攻略思维导图

马上就要2024年春节了&#xff0c;相信小伙伴们都蠢蠢欲动了&#xff0c;春节去哪里玩&#xff1f;今天小P来给大家分享云南旅游攻略了&#xff0c;希望可以对大家有所帮助。 为什么要来云南呢&#xff1f;因为云南的绝大多数地方&#xff0c;一年四季总是那样温暖&#xff1b;…

redis的主从复制,哨兵模式

1.主从复制 主从复制&#xff1a;主从复制是redis实现高可用的基础&#xff0c;哨兵模式和集群都是在主从复制的基础之上实现高可用 主从复制实现数据的多机备份&#xff0c;以及读写分离&#xff08;主服务器负责写&#xff0c;从服务器只能读&#xff09; 缺陷&#xff1a…

java springboot测试类鉴定虚拟MVC运行值与预期值是否相同

好 上文java springboot在测试类中构建虚拟MVC环境并发送请求中 我们模拟的MVC环境 发送了一个请求 我们这次需要 对比 预期值和运行值是否一直 这里 我们要用一个 MockMvcResultMatchers 他提供了非常多的校验类型 例如 请求有没有成功 有没有包含请求头信息 等等 这里 我们做…

前端性能优化总结

这里写目录标题 页面性能测试工具测试指标 前端页面性能常见的问题前端页面性能优化常见策略及方案dns优化------预解析域名&#xff08;异步进行&#xff09;http请求优化减少请求次数同时多开持久连接 前面面试url从输入到确认搜索发生了什么js介绍new一个对象的过程&#xf…

智能配电房环境监控系统

智能配电房环境监控系统是一种用于实时监测和控制配电房环境的系统。依托电易云-智慧电力物联网&#xff0c;通过集成应用物联网技术&#xff0c;实现对配电房内环境的全天候状态监视和智能控制。以下是智能配电房环境监控系统的主要功能&#xff1a; 环境数据实时监测&#xf…

Autoware.universe部署06:使用DBC文件进行UDP的CAN通信代码编写

目录标题 一、安装DBC文件编辑工具VectorCANdb二、编写DBC文件2.1 CAN通信协议2.2 编写DBC文件2.2.1 根据CAN协议设置signals2.2.2 设置报文2.2.3 建立节点 三、根据DBC文件编写ROS2驱动程序四、实际通信调试 根据CAN协议编写DBC文件&#xff0c;通过DBC文件编写ROS2包进行UDP通…

Centos7使用rpm安装mysql 5.7.43

Centos7使用rpm安装mysql 5.7.43 1、下载rpm包 wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.43-1.el7.x86_64.rpm-bundle.tar2、解压并安装 tar xf mysql-5.7.43-1.el7.x86_64.rpm-bundle.tar yum -y install mysql-*3、按需修改mysql配置 #注意&a…

【OpenCV实现图像:使用OpenCV进行物体轮廓排序】

文章目录 概要读取图像获取轮廓轮廓排序小结 概要 在图像处理中&#xff0c;经常需要进行与物体轮廓相关的操作&#xff0c;比如计算目标轮廓的周长、面积等。为了获取目标轮廓的信息&#xff0c;通常使用OpenCV的findContours函数。然而&#xff0c;一旦获得轮廓信息后&#…

WCS WMS WES关系

一、定义&#xff1a; 仓库控制系统 &#xff08;WCS&#xff09; 是一种软件应用程序。 WCS用于指导仓库和配送中心&#xff08;DC&#xff09; 内的实时活动。作为仓库/配送中心的“交通警察”&#xff0c;WCS 负责保持一切顺利运行&#xff0c;最大限度地提高物料搬运子系…