关于java的继承

Java 实现继承实例代码 本人研究Java有段时间了,现在把Java实现继承实例的代码上传,希望共同交流 qq 418586040 立即下载

使用继承一方面可以复用代码,公共的属性和行为可以 放到父类当中,而子类只需要关心子类的特有的性质就行可以了;另一方面,不同的子类的对象可以更为方便地被统一处理。

  1. 在java中,即使没有声明父类,也会有一个隐藏的父类Object,即任何类都可以调用Object类的方法。
  2. 一个类最多只有一个父类,使用extends关键字来表示继承
  3. 子类不能直接访问父类中的私有属性或者方法,即用private关键字修饰的属性或者方法,此外protected的属性或者方法可以被继承,也可以直接访问
    public class A {
    	private int  i;
    	private static void write() {
    		System.out.println("write....A");
    	}
    	protected void fun() {
    		System.out.println("hello !!!!!!!!!!");
    	}
    }
    public class B extends A {
    	@Override
    	protected void fun() {
    		// TODO Auto-generated method stub
    		super.fun();
    
    	}
    
    	private static void write() {
    		System.out.println("write >>>>B");
    	}
    	public static void main(String[] args) throws InterruptedException  {
    			B b = new B();
    			b.fun();
    			b.write();;
    	}
    }
    

    运行结果:

  4. hello !!!!!!!!!!
    write >>>>B
    

    如上所示,通过创建B的对象变量b;调用write()方法实质上是调用的子类的write() ,与父类无关。

  • 子类变量和方法与父类的有重名情况下,可通过使用super强行调用父类的变量或者方法
  • 另外,在new的过程中父类的构造方法也会执行,并先于子类的构造方法执行。可通过super关键字来调用相应的构造器,没有的情况下调用的是默认的父类构造器。
  • 继承也是有风险的,在子类可能会破坏父类的封装性。封装是为了隐藏类内部的实现细节,提供简化接口,使用者只需要关注怎么用而不需要关注内不怎么实现。但是子类与父类之间可以存在着实现细节的依赖,在继承父类之后子类不得不需要去关心父类怎么实现的细节,而父类修改其内部的实现时也要考虑到对子类的影响。如下代码:
  • public class Base {
    	private static final int MAX_NUM = 1000;
    	private int [] arr = new int[MAX_NUM];
    	private int count;
    	public void add(int number) {
    		 if(count < MAX_NUM) {
    			 arr[count++] = number;
    		 }
    	}
    	
    	public void addAll(int []numbers) {
    		for(int num : numbers ) {
    			add(num);
    		}
    	}
    }
    
    public class Child extends Base {
    	private long sum;
    	@Override
    	public void add(int number) {
    		// TODO Auto-generated method stub
    		super.add(number);
    		sum +=number;
    	}
    	@Override
    	public void addAll(int[] numbers) {
    		// TODO Auto-generated method stub
    		super.addAll(numbers);
    		
    		for(int i=0 ; i<numbers.length ; i++) {
    			sum +=numbers[i];
    		}
    	}
    	
    	public long getSum() {
    		return sum;
    	}
    	
    	
    	public static void main(String[] args) {
    		Child child = new Child();
    		child.addAll(new int[]{1,2,3,4});
    		System.out.println(child.getSum());
    	}
    }

    子类中重写了Base类的add()与addAll()方法,再添加数字的同时把数字存放到数组中,存储数字的和到实例变量sum中,并提供getSum()获取sum的值。

  • 使用addAll()方法添加{1,2,3,4},期望输出是1+2+3+4=10,但是实际输出为20.原因是数字被添加了俩回,子类需要知道基类的实现细节,才能可能避免地程序的错误实现。

  • 避免父类的方法不可随意修改的问题,可通过给方法加final关键字,父类可保留对该方法的内部实现自由,但是该方法就不可被重写。
  • 此外使用组合可以抵挡父类变化对子类的影响,从而保护子类;还有就是可以使用接口的办法。
HMC5883L磁力计在STM32F4上的I2C驱动与数据校准实战 本文详细介绍了HMC5883L磁力计在STM32F4平台上的I2C驱动开发与数据校准实战。通过解析寄存器配置、数据读取处理和椭圆拟合校准算法,帮助开发者实现精准的地磁测量,特别适用于无人机导航和机器人系统中的航向确定与陀螺仪漂移修正。 阅读详情

相关推荐

常见消息队列:ActiveMQ、RabbitMQ、RocketMQ、Kafka的区别总结

常见消息队列:ActiveMQ、RabbitMQ、RocketMQ、Kafka的区别。

qq_30713721的博客 3471

Java继承(超详解)

继承是面向对象的三大特征之一,可以使得子类具有父类的属性和方法,还可以在子类中重新定义,追加属性和方法。继承是指在原有类的基础上,进行功能扩展,创建新的类型。继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模。JAVA中类只有单继承,没有多继承!继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖、组合、聚合等。继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字extends来表示。子类和父类之间,从意义上讲应该具有"is a"的关系。

m0_52896041的博客 3万+

解决Windows 10更新失败错误代码0x80070643

在Windows 10操作系统的更新过程中,用户时常会遇到各类错误代码,这些代码通常成为顺利完成更新的绊脚石。其中,错误代码0x80070643是一个较为常见的更新失败提示,它可能导致系统更新停滞不前。面对这一挑战,本文将详细介绍如何有效解决这一错误,帮助用户顺利完成Windows 10的更新。

nntxthml的博客 1827

JAVA中的继承

子类不能继承父类的私有属性,但是如果子类中公有的方法影响到了父类私有属性,那么私有属性是能够被子类使用的,即子类就相当于有了对应的属性,但并没有在代码中显示出来。定义:一种类与类之间的关系,利用已存在的类的定义作为基础建立新类,已存在的类叫做父类(基类)注意:新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。

代码是程序员的语言,博客是思想的桥梁,连接你我,共享智慧之光。 200

CTK Plugin Framework插件框架学习1--Qt编译CTK

【代码】Qt编译CTK。

贝勒里恩的博客 7430

【HALCON工业视觉应用探索】10. C#+Halcon 3D视觉实战:点云处理与三维测量工业指南(附完整代码与实操案例)

摘要:本文聚焦C#+Halcon在3D视觉领域的工业应用,从新手友好的“基础3D检测系统”切入,逐步深入“汽车铸件三维测量”等工业级场景。内容涵盖核心概念(点云数据结构、3D采集原理、坐标系统)、完整技术流程(数据采集→预处理→特征提取→三维测量→结果可视化)、工业级代码实现(多视角点云融合、微缺陷检测、高精度尺寸测量),以及现场落地关键技巧(硬件选型、标定流程、抗干扰优化)。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 2004

Java基础语法(七):继承

在 Java 中,继承是面向对象编程中最为基本的概念之一。继承可以使代码重用更加容易,同时也可以使程序更加易于维护和扩展。本文将介绍 Java 继承的概念、用法和实例。一、继承是什么?Java 继承的概念是指一个类可以从另一个类中继承属性和方法。被继承的类称为父类或者超类,继承这个类的类被称为子类或者派生类。子类可以继承父类中的属性和方法,同时可以重写父类中的方法或者添加新的方法和属性。Java 继承使用关键字 extends 来实现。Java 继承是面向对象编程中最为基本的概念之一。

分享是一种积极的生活态度~~ 328

[最新]MapReduce综合应用案例 — 气象数据清洗

【代码】[最新]MapReduce综合应用案例 — 气象数据清洗。

M_inherit的博客 1014

Java中类的继承(详解)

(2)、如果子类没有定义构造方法,则它将继承父类无参构造的构造方法作为自己的构造方法;如果子类定义了构造方法,则在创建子类对象时,将先执行来自继承父类的无参构造方法,在执行自己的构造方法。如果子类声明了与继承父类同名变量,那么父类的这个变量在子类将不负存在,此时称子类变量隐藏了父类的变量。如果子类重写了从父类继承的方法,那么父类的这个方法在子类将不负存在,此时称子类方法覆盖了父类的方法。通过继承和调用父类的构造方法,我们可以在子类中实现属性的初始化,减少复写、提高代码的利用利用率。

weixin_60625208的博客 2287

ardupilot开发 --- mavlink签名加密 篇

ardupilot开发 --- mavlink签名加密

记录老板的每次pua,分享领导每天的毒鸡汤... 1235

微信小程序 - 获取当前日期时间(函数封装)

效果图 前言 摘自微信小程序demo程序中utils.js方法。 普通newDate()出来的日期时间,并不是我们想要的格式,所以要进行格式整理。 解决方案 打开utils.js文件(随意),复制以下代码: /** *获取当前时间 *@description自定义日期分钟秒数 *@param{Object}date-newData()对象 *@returnString */ functionformatTime(date){ //年月日

🏆 前端领域优质创作者 2843

JAVA-继承(优快云最详细的)

全网最详细的继承博客

Lizhihao_的博客 7114

视觉Transformer实战 | Token-to-Token Vision Transformer(T2T-ViT)详解与实现

Vision Transformer (ViT) 在计算机视觉领域取得了巨大成功,但标准的 ViT 存在一些局限性,如需要大规模预训练数据、对局部结构建模不足等。Token-to-Token ViT (T2T-ViT) 通过引入渐进式分词过程改进了原始 ViT,使其能够在中小型数据集上取得更好的性能。本节将详细介绍 T2T-ViT 的技术原理,并使用 PyTorch 从零开始实现 T2T-ViT。

盼小辉丶的博客 4万+

java 继承是什么_java中继承指的是什么

java中继承指的是什么发布时间:2020-08-20 14:46:11来源:亿速云阅读:55作者:小新这篇文章将为大家详细讲解有关java中继承指的是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。java中继承是什么?Java中的继承是一个对象获取父对象的所有属性和行为的机制。它是面向对象编程系统(OOP)的重要组成部分。Java中继承的思想是,创建基于现...

weixin_32841641的博客 5755

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Java 继承详解

多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可。多个类可以称为子类,单独这个类称为父类、超类或者基类。子类可以直接访问父类中的非私有的属性和行为。通过 extends 关键字让类与类之间产生继承关系。......

buhuisuanfa的博客 1990

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Java 继承

Java 继承

m0_74012211的博客 1319

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

C++的继承和Java继承的比较

在C++中继承可分为公有继承(public)保护继承(protected)和私有继承(private),而在Java中默认只有一种继承(相当于C++中的公有继承)下面我们来看一段代码#include using namespace std; class A{ int aprivate; void Aprivate(){ cout << "A类的private方法" << endl;

水寒 4365

【java】继承

继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。子类会具有父类的一般特性也会具有自身的特性。

m0_75163045的博客 1170

java的继承

在 Java 中,继承是面向对象编程的一个重要特性,它允许创建一个新的类(称为子类或派生类)基于现有的类(称为父类或超类),子类会继承父类的属性和方法,同时还可以添加自己特有的属性和方法或者重写父类的方法。

2403_88493083的博客 1734

java继承有哪些_Java中的继承类型有哪些

Java中可以实现的继承类型有:单一继承,多重继承,多级继承、分层继承和混合继承。在java的继承中也是有不同类型的,本篇文章给大家介绍Java中的继承类型,让大家了解在java中可以实现几种继承,分别是如何实现的,希望对你们有所帮助。java类中继承在类的基础上,java中可以有三种类型的继承:单一继承、多级继承、分层继承单一继承:就是一个子类和父类关系,其中一个类扩展另一个类,我们称之为单个继...

weixin_42622428的博客 2220

java可以多重继承吗_Java中的多重继承与组合vs继承

java可以多重继承吗 有时我写了几篇有关Java继承,接口和组成的文章。 在这篇文章中,我们将研究多重继承,然后了解组成优于继承的好处。 Java中的多重继承 多重继承是创建具有多个超类的单个类的能力。 与其他一些流行的面向对象的编程语言(例如C ++)不同, java不提供对类中多重继承的支持。 Java不支持类中的多重继承,因为它可能导致钻石问题,而不是提供一些复杂的方法来解决它,而是有更...

cunfeng7797的博客 4013

java什么是继承_什么是java继承

什么是java继承继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。这种技术使得复用以前的代码非常容易,能够大大缩短开发周期,降低开发费用。(推荐教程:java教程 )比如可以先定义一个类叫车...

weixin_39558754的博客 282

用java的继承怎么输出直_java中继承是什么?如何实现继承

详细内容本篇文章给大家带来的内容是介绍java中继承是什么?如何实现继承。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。java中继承是什么?Java中的继承是一个对象获取父对象的所有属性和行为的机制。它是面向对象编程系统(OOP)的重要组成部分。Java中继承的思想是,创建基于现有类的新类。从现有类中继承,可以重用父类的方法和字段。此外,还可以在当前类中添加新方法和字段。【相关...

weixin_36387104的博客 437

Java的继承

Java继承是面向对象编程的核心特性,子类通过extends关键字继承父类,可复用父类的非私有成员并扩展新功能。

2401_84284464的博客 731

java继承需要什么_JAVA继承

先看以下代码classStudent {String name;intage;voidstudy() {System.out.println("good study");}}classWorker {String name;intage;voidwork() {System.out.println("good work");}}以上代码中,有两个类,各自己含有两个成员变量和一个成员方法。其中,“S...

weixin_39943547的博客 246

Java继承(Java继承是什么、特点、子类继承什么)壹

Java继承是面向对象编程中的一个重要概念,它允许一个类(称为子类或派生类)从另一个类(称为父类或基类)继承属性和行为。通过继承,子类可以重用父类已有的代码,并且可以在此基础上添加新的功能。【子类是父类的一种】

m0_74154295的博客 948
上一篇: JQuery使用validate插件完成校验
下一篇: 关于java的内部类
silentkunden
博客等级 码龄9年 28粉丝 51原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值