Java基础——面向对象特征继承

《JAVA 基础: 面向对象特征:继承》 dd 阅读详情

Java继承

继承的概念

继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。

在这里插入图片描述

extends关键字

1)通过extends关键字可以实现类的继承
2)子类(sub class)可以继承父类(Super class)的成员变量和成员方法,同时也可以定义自己的成员变量和成员方法。
3)Java语言不支持多重继承,一个类只能继承一个父类,但一个父类可以有多个子类

方法重写和方法重载的区别:
/**
 * 方法重写和方法在重载:
 * 重写和重载的格式基本相同,都是方法名相同,
 * 重写和重载的区别:
 * 1)方法重写发生载同一个类里面,方法重载发生在子类和父类两个类中
 * 2)方法重写需要方法名相同而参数列表不同,返回值类型、权限修饰符可以相同也可不同;
 *     而方法的重载方法名相同参数列表相同,返回值类型相同,权限修饰符父类大于或等于子类;
 */
重写中使用super关键字

子类在重写父类的方法是,可以通过super关键字调用父类的版本,super.f,这样的语法通常用于子类重写方法在父类方法的基础之上进行功能扩展。

父类的对象指向子类的引用
在这里插入图片描述

代码:
package extends0;

public class Super0 {
    //Super类的成员属性
    public int value;
    public String fathername="玉皇大帝";
    public int age;
    private String gender="男";//假设玉皇大帝只能生男孩
    public void f(){
        System.out.println("这是父类的f方法");
    }
    public String setGender(String gender){
        return gender;
    }

    public String getGender(){
        return gender;
    }

    //Super类的成员方法
    public void playChild(){
        System.out.println("爸爸可以打孩子哦!");
    }

    public void somking(){
        System.out.println("爸爸可以掌管太上老君哦!");
    }
}

******************************Java文件分界线**********************************
package extends0;

public class Child1 extends Super0 {
    public int num;//子类不加权限修饰符默认为私有的private

    public void g(){
        System.out.println("这是子类的g方法");
    }
    /**
     * extends关键字:
     * 1) 子类继承父类可通过extends关键字继承
     * 2) 子类可以通过extends关键字继承父类的成员便改良和成员方法,
     * 能够改变父类的成员变量的值和成员方法,改变父类成员方法的行为叫做方法的重写
     * 也可自己定义父类没有成员变量和成员方法,
     * 3)继承只能单向传递,一个子类不能有多个父类,而一个父类可以有多个子类。
     *    "class not extend mutiply class"
     */

    /**
     * 父类playaChila方法的重写
     */
    @Override
    public void playChild() {
        System.out.println("爸爸最好不要打孩子");
        super.playChild();
    }
    /**
     * super关键字的使用:
     * super是子类重写父类方法是出现的关键字,通过super.fatherMethod()方法可以
     *  调用父类方法的模板,在子类方法重写父类方法的时候,用到super关键字就相当于
     *  子类对父类方法的扩展。
     *
     */

    public void sum(){
        System.out.println("成绩和为:100");
    }

    private void sum(int a){
        System.out.println("输入进来的值为:"+a);
    }

    /**
     * 方法重写和方法在重载:
     * 重写和重载的格式基本相同,都是方法名相同,
     * 重写和重载的区别:
     * 1)方法重写发生载同一个类里面,方法重载发生在子类和父类两个类中
     * 2)方法重写需要方法名相同而参数列表不同,返回值类型、权限修饰符可以相同也可不同;
     *     而方法的重载方法名相同参数列表相同,返回值类型相同,权限修饰符父类大于或等于子类;
     */
}
******************************Java文件分界线**********************************
package extends0;

public class Child extends Super0 {
    public Child(){

    }
}
******************************Java文件分界线**********************************
package extends0.test;

import extends0.Child1;
import extends0.Super0;

public class T1 {
    public static void main(String[] args) {
        //创建子类对象
        Child1 child1 = new Child1();
        //访问子类继承的性别值
        System.out.println(child1.getGender());
        //调用子类重写父类的playchild()方法
        child1.playChild();
    }
}

******************************Java文件分界线**********************************
package extends0.test;

import extends0.Child;
import extends0.Child1;
import extends0.Super0;
import org.junit.Test;

public class T2 {
    /**
     * 测试父类的引用指向子类的对象
     */
    @Test
    public void t1(){
        Super0 child1 = new Child1();
        System.out.println(child1.fathername);
    }

    @Test
    public void t2(){
        /**
         * 上转型对象:
         * 把子类对象赋值给父类的应用叫做上转型对象
         */
        Super0 super0 = new Super0();

        Super0 child = new Child();
        Super0 child1 = new Child1();
        Super0 child2 = new Child2();
        /**
         * 类多态的定义:
         * 一个类有多个子类的形式叫做类的多态,多态是是一个类被很多个类继承
         */

        super0.value=1;
        super0.f();
//        child1.num=9;//父类的引用对象指向子类
//        child1.g();
        /**
         * 父类的引用对象指向子类: 在上转型对象中,子类自己特有的成员变量和方法不能通过创建的对象来调用
         * 否则会出现  can't resolve symbol  错误
         */
    }
}
******************************Java文件分界线**********************************
package extends0.test;

import extends0.Super0;

public class Child2 extends Super0 {}
多态

一个父类的拥有多个子类的表现叫做多态;
我们可以把同一个类拥有不同的子类的这个过程叫做多态,

  • 也就是,一个类拥有多个子类的表现形式,具体功能
  • 主要是看子类,因为子类重写了父类的方法,父类的
  • 不同子类所重写的父类的方法的逻辑不一样导致,方法的
  • 运行结果不一样,运行结果不一样就表示该类的子类对象
  • 可以扮演不同的角色,这就是多态的运用。
    */
使用DeepSeek、MCP和AKShare实现智能金融问答系统技术方案 DeepSeek是由深度求索公司开发的大规模语言模型,最新版本DeepSeek-V3采用混合专家(MoE)架构,拥有671B参数,激活37B参数,在多项基准测试中表现优异3。要使用DeepSeek的API服务:访问DeepSeek平台注册账号获取API Key(形如AKShare是基于Python的金融数据接口库,提供股票、基金、期货、宏观经济等领域的海量数据。主要特点包括:免费开源,数据源丰富支持多种数据格式(DataFrame/JSON)持续更新维护安装命令。 阅读详情

相关推荐

使用Linux安装yum报错 E: Unable to correct problems, you have held broken packages.

使用Linux安装yum报错 E: Unable to correct problems, you have held broken packages.

weixin_43205954的博客 2462

JAVA基础面向对象三大特征之一继承

JAVA基础基础详细

2301_79620048的博客 513

2.设置Salesforce开发环境

Salesforce DX:salesforce Developer Experience (salesforce开发人员体验)LWC:Lightning Web Component(注意首字母是大写的,是一个概念,小写的话有组件本身的含义)CLI:Command Line Interface(命令行界面)version control system (VCS):版本控制系统。

nihaixiao的博客 2195

【Java基础】面向对象三大特征-继承

文章目录概念和特点实现继承方法重写方法重写规则方法重写和方法重载的区别访问修饰符super关键字super 与 this 的对比final关键字 概念和特点 概念: 继承是面向对象软件技术当中的一个概念。如果一个类别 B “继承自” 另一个类别 A,就把这个 B 称为 “A 的子类”,而把 A 称为 “B 的父类别” 也可以称 “A 是 B 的超类”。继承可以使得子类具有父类别的各种属性和方法,而不需要再次编写相同的代码。 Java 语言提供了类的继承机制。利用继承,新建的类可以在原有类的基础上,使用或者重

Lee_6666的博客 269

[RK3568][Android11.0]Vold-DiskInfo:区分u盘和硬盘

测试平台 Platform: RK3568 OS: Android 11.0 需求描述 目前系统内部设备没有对硬盘(sata/usb移动硬盘)和u盘做区分,统一显示的为usb存储设备.目前有需求要在显示上有所区分。 解决方案 如何区分移动硬盘和U盘,见Android usb设备的检测及区分(sata硬盘、优盘及移动硬盘).主要就是检测removeable值,为0:硬盘,为1:u盘 解决补丁如下 From 572cf35c07f68c5cb5defe40c536dd9ad1b4648e Mon Sep 17

weixin_39966398的博客 1897

软件测试工程师笔试题

这里写目录标题全套软件测试面试笔试题(附答案)二、选折三、添空四、简答(资料是搜集整理的,感谢前辈的解题)无1.区别阶段评审的与同行评审2.什么是软件测试3. 简述集成测试的过程4 怎么做好文档测试5 白盒测试有几种方法6 系统测试计划是否需要同行审批,为什么7Alpha 测试与 beta 的区别8 比较负载测试,容量测试和强度测试的区别。性能测试从使用方便的角度来说,9 测试结束的标准是什么?10 描述软件测试活动的生命周期?11 软件的缺陷等级应如何划分? 软件测试工程师笔试题(附答案) 全套软件测试面

m0_46446002的博客 2549

Java基础35 面向对象三大特征之继承

oop继承的概念以及使用

chenjiap的博客 652

Vector CANoe VT2516A实战:从硬件连接到CAPL脚本的完整配置指南

本文详细介绍了Vector CANoe VT2516A板卡从硬件连接到CAPL脚本编写的完整配置指南。涵盖硬件接线原则、VT System配置避坑技巧、系统变量创建规范、可视化Panel设计、CAPL脚本调试及典型故障排查案例,帮助工程师快速掌握VT2516A板卡的应用实践,提升汽车电子测试效率。

weixin_30608503的博客 254

【Java基础】19.继承(面向对象的三大特征:封装、继承、多态)

继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。兔子和羊属于食草动物类,狮子和豹属于食肉动物类。食草动物和食肉动物又是属于动物类。所以继承需要符合的关系是:is-a,父类更通用,子类更具体。虽然食草动物和食肉动物都是属于动物,但是两者的属性和行为上有差别,所以子类会具有父类的一般特性也会具有自身的特性。

qq_15079371的博客 1183

ue 蓝图 c++ websocket 事件回调

ue 蓝图 c++ websocket 事件回调

jacke121的专栏 166

37、基于视觉的轻量级面部呼吸和心率测量技术

本文提出了一种基于视觉的轻量级面部呼吸和心率测量技术,通过远程光电容积脉搏波描记法(RPPG)和面部振动信息实现非接触式生理信号采集。创新性地结合框选和特征点选择多个感兴趣区域(ROI),并采用光流跟踪、主成分分析(PCA)和集成经验模态分解(EEMD)等方法优化信号处理流程。实验结果表明,该方法在测量精度和稳定性方面优于传统方法,并可在树莓派4等低功耗平台上实现实时运行,具有广泛的应用前景。

r7s8t的博客 307

Java基础巩固系列 面向对象的特征二:继承性

面向对象的特征二:继承性 1.为什么要设计继承性?(见图示) 2.通过“class A extends B”实现类的继承。 子类:A 父类:B(或者基类SuperClass) 3.子类继承父类以后,父类中声明的属性、方法,子类就可以获取到。 明确: 1)但父类中有私有属性或方法时,子类同样可以获取得到,只是由于封装性的设计,使得子类不可以直接调用罢了 2)...

Peter__Li的博客 199

【2026年华为暑期实习(AI)-6月3日-第一题- 选择题】(题目+思路+Java&C++&Python解析+在线测试)

本文摘要: 本文探讨了深度学习与计算机科学中的多个关键概念和技术,包括CUDA双缓冲技术、神经网络训练问题、优化算法、概率模型、Transformer架构特性、量化技术、损失函数选择等。通过20道选择题和多项选择题,涵盖了梯度消失/爆炸、神经元死亡、牛顿迭代法、朴素贝叶斯分类、Adam优化器、KV Cache压缩等核心知识点。特别关注了大模型训练中的计算效率、数值稳定性问题,以及实际应用场景如客服Agent的记忆机制优化。题目设计既考察基础理论(如概率分布、指数分布特性),又结合前沿技术(如MoE架构、注意

m0_73659489的博客 81

java基础概念18-面向对象三大特征:继承

继承的定义、特点;方法的重写;this、super关键字

qq_31532983的博客 551

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

【Java基础】面向对象的三大基本特征:封装、继承、多态

面向对象的三大基本特征:封装、继承、多态

什么都没有的博客 583

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Java基础——面向对象三大特征之继承性

在继承关系当中,“子类就是一个父类”,也就是说,子类可以被当作父亲看待。 例如父类是员工,子类是讲师,那么”讲师就是一个员工“关系。 定义父类的格式:(一个普通的类定义) public class 父类名称{ //..... } 定义子类的格式: public class 子类名称 extends 父类名称{ //..... } 首先创建一个demo01类,然后再创建一个员工类。 //定义一个父类,员工 public class Employee { pu

weixin_58308529的博客 530

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

面向对象的特征:继承性---Java基础

面向对象特征之二:继承(Inheritance)

qq_35899077的博客 414

【JAVA SE基础篇】25.面向对象三大特征之继承

之前主要了解了面向对象的基本概念,接下来的部分属于面向对象的三大特征:继承、封装、多态 1.继承(extends) 继承让我们更加容易实现类的扩展。子类继承父类,是父类的扩展,实现了代码的重用。 假如我们写一个人类,有姓名和年龄的属性,有吃的功能, 再写一个学生类,有姓名和年龄和学号的属性,有吃的功能,有学的功能 例: 此时代码很复杂,你会发现人类的属性和功能在学生类中都有,写起来比较麻烦,这时就可以用到继承 将学生类中和人类中相同的属性和功能删掉,再写上继承的关键字以及被继承的类名 .

302

JAVA基础之面向对象特征:继承

面向对象有三大特征:继承,多态,封装(类)继承:extends,形如 public class book extends paper{} ->book类继承paper类一.继承的特征:    以社会关系的父子系类比,当子类继承父类时有: 1.子类会继承父类一切允许继承的所有实例变量和方法;2.儿子的独立性,子类可以重载或覆盖继承下来的方法,但是不可以覆盖继承下来的实例变量,当然,子类作为一个...

qq_41404592的博客 180

Java基础面向对象的特征继承2和多态性1

hp实训8.07_Java基础继承2????面向对象的第二大特征:继承性 面向对象的第二大特征:继承性 3.一个子类还可以派生别的子类?是可以的 //小学生 public class SchoolChild extends Student { public void game(){ System.out.println("你是一个小学生,不要玩游戏"); } } Testperson.java //创建一个小学生类 SchoolChild sc=new SchoolChild();

醉美微醺-等 545

java基础08——面向对象三大特征 封装继承多态

封装是指把一个对象的状态信息(也就是属性)隐藏在对象内部,不允许外部对象直接访问对象的内部信息。但是可以提供一些可以被外界访问的方法来操作属性。就好像我们看不到挂在墙上的空调的内部的零件信息(也就是属性),但是可以通过遥控器(方法)来控制空调。如果属性不想被外界访问,我们大可不必提供方法给外界访问。但是如果一个类没有提供给外界访问的方法,那么这个类也没有什么意义了。就好像如果没有空调遥控器,那么我们就无法操控空凋制冷,空调本身就没有意义了(当然现在还有很多其他方法 ,这里只是为了举例子)。

后端小白个人学习记录 251

【Java 基础】详解:面向对象三大特征:封装、继承、多态

本文详细介绍了Java面向对象编程的三大核心特征:封装、继承和多态。封装通过访问修饰符(private/public等)隐藏数据细节并提供安全访问接口;继承实现代码复用,子类可扩展父类功能;多态则通过方法重写和父类引用指向子类对象实现灵活调用。文章通过代码示例演示了属性封装、方法封装、单例模式等实际应用场景,并讲解了继承的语法规则和使用注意事项。这些特性共同构成了Java面向对象编程的基础,帮助开发者构建更安全、灵活和可维护的代码结构。

小旭9527的博客 1425

java基础面向对象_Java 基础(面向对象特征总结和继承性说明)

面向对象特征OPP特征二:继承性方法的重写四种访问权限修饰符关键字: super子类对象实例化过程OPP特征三:多态性继承性一:继承性的好处减少代码的冗余,提高了代码的复用性便于功能的扩展为之后多态性的使用,提供了前提二:继承性的格式: class A extends B{}A: 子类,派生类,subclassB:父类,超类,基类,superclass体现:一旦子类 A 继承父类 B 以后,子类 ...

weixin_35916239的博客 104

java基础学习——>面向对象的三大特征:继承,封装,多态

面向对象的三大特征:继承,封装,多态 封装:变量定义private ; set/get方法; 构造方法 封装的实现: private的变量 提供set/get方法 练习:输出矩形的周长和面积 public class Rectangle { private int chang; private int kuan; public int getChang() { return chang; } public void setChang(int chang) { if(ch

sinat_40482939的博客 385

JAVA基础-面向对象三大特征:封装,继承,多态

封装 概念 将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问。 好处 只能通过规定的方法访问数据。 隐藏类的实例细节,方便修改和实现。 封装的实现步骤 需要注意:对封装的属性不一定要通过get/set方法,其他的方法也可以对封装的属性进行操作。当然最好使用get/set方法,比较标准。 继承 继承的概念 继承是类与类的一种关系,...

ZhenQi_Gui的博客 195

一、Java面试基础之面向对象的特征:继承、封装和多态(原创实例)

一、继承 1、概念:继承是类与类的一种关系,是一种“is a”的关系。比如“狗”继承“动物”,这里动物类是狗类的父类或者基类,狗类是动物类的子类或者派生类。 2、java中的继承是单继承,即一个类只有一个父类、 3、优点:子类拥有父类的所有属性和方法(除了private修饰的属性不能拥有)从而实现了实现代码的复用 4、语法规则,只要在子类加上extends关键字继承相应的父类就可以了 c...

玻璃汽水的博客 890
上一篇: Java基础——面向对象——封装
下一篇: 抽象类
惠溪崽崽
博客等级 码龄7年 4粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值