当前位置: 首页 > news >正文

java继承,接口,抽象类

目录

目录

1 继承的含义

2 继承的好处

3使类与类之间产生了关系。

看这里继承-------我的理解

代码部分

接口

代码

抽象类

代码



各位友友们大家好呀😊

今天让我们继续回顾java,看看java中的抽象类以及接口继承是什么🤔?

1 继承的含义

        继承:就是子类继承父类的属性行为,使得子类对象可以直接具有与父类相同的属性、相同的行为。子类可以直接访问父类中的非私有的属性和行为

2 继承的好处

  1. 提高代码的复用性(。

3使类与类之间产生了关系。

  1. 通过 extends 关键字,可以声明一个子类继承另外一个父类,定义格式如下:

    class 父类 {...
    }
    ​
    class 子类 extends 父类 {...
    }

    需要注意:Java是单继承的,一个类只能继承一个直接父类。

看这里继承-------我的理解

继承无需多言,就是子承父业,继承父亲的财产(这里是正当继承哟,嘿嘿嘿),在复杂点就是儿子类继承父亲类的属性以及方法,当然这里的单继承,一个类只能继承一个父类,就像是一个儿子只能有一个亲生父亲。很好理解的继承。

代码部分

来吧,直接代码展示,嘿嘿我当然懂你们啦,没有代码光看文字就是一堆屎山。

来吧,先看下代码结构

首先是父类的代码结构,创建了自己的方法,子类继承父类,然后再 创建自己的方法

package test;public class fu {private String name;private int age;public void caichan(){System.out.println("我有钱一亿");}
}
package test;public class zi extends fu{public void jicheng(){

看主题部分的函数调用,这里分别创建了对应的父类以及子类,然后进行对应的调用

这里注意一句话就是子类调用父类,但是父类无法调用子类

可以理解是父亲死后儿子继承,但是儿子死了不会是父亲继承

package test;public class main {public static void main(String[] args) {zi mzh=new zi();mzh.jicheng();//调用的子类的方法mzh.caichan();//调用的父类的方法fu mz=new fu();mz.caichan();}
}

这里就是子类调用父类的方法。

接口

        官方解释:Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)

        我的理解是接口就是我们的电脑的各种适配型号口,可以利用相应的数据线进行数据传输,电量输送,控制亮灯,小风扇旋转等等。

代码

关键字就是接口定义关键字interface,以及继承接口implements

这里也是说一下它的代码结构,先是创建对应的接口文档,然后来一个他的实现类,后面就是实现类的对象来实现数据;

这里就OK啦,代码也就是简单的串联,实现类连接接口就要声明好对应的接口方法,后面在main函数里面创建对应的实现类对象来调用。

package test;public interface usb {public void show();public void coin();public void tes();
}
package test;public class demo implements usb{@Overridepublic void show() {System.out.println("展示方发");}@Overridepublic void coin() {System.out.println("展示连接");}@Overridepublic void tes() {System.out.println("展示测试");}
}
package test;public class dd {public static void main(String[] args) {demo a=new demo();a.show();a.coin();a.tes();}
}

抽象类

其实这里没有之前的那么重要,反而是简单了解就可以啦

代码结构,抽象类就是在java类的基础上定义一个abstract的关键字,然后我们定义main函数中实现就可以

代码

这里就是可以抽象类可以直接类名调用,不再需要创建对象来实现

就是类名直接调用就可以啦

package abs;public abstract class test1 {public void show(){}
}
package abs;public class show {public static void main(String[] args) {test1 a=new test1() {@Overridepublic void show() {System.out.println("你好");}};a.show();}
}

每日分享

一位粉丝拍的他们学校的花,谢谢支持,愿大家在春天到来之际生活学习无压力!!

相关文章:

  • centos 系统 yum 无法安装(换国内镜像地下)
  • 设计模式学习笔记 - 规范与重构 - 5.如何通过封装、抽象、模块化、中间层解耦代码?
  • HTTP有什么缺陷,HTTPS是怎么解决的
  • 探索ChatGPT在软件架构师工作中的应用
  • Spring-Cloud-Gateway Filter详细配置说明
  • 角蜥优化算法 (Horned Lizard Optimization Algorithm ,HLOA)求解无人机路径优化
  • 【NR 定位】3GPP NR Positioning 5G定位标准解读(九)-增强的小区ID定位
  • 【数据结构:树与堆】向上/下调整算法和复杂度的分析、堆排序以及topk问题
  • 泛微ecology9开发
  • Java学习笔记------拼图游戏
  • 【漏洞分析】CVE-2024-27198可RCE身份验证绕过JetBrains TeamCity
  • 什么是高级编程语言?——跟老吕学Python编程
  • 单例模式及线程安全的实践
  • 20个常用的Python脚本
  • Java开发与配置用到的各类中间件官网
  • JavaScript 如何正确处理 Unicode 编码问题!
  • “寒冬”下的金三银四跳槽季来了,帮你客观分析一下局面
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • Codepen 每日精选(2018-3-25)
  • Cookie 在前端中的实践
  • gf框架之分页模块(五) - 自定义分页
  • LintCode 31. partitionArray 数组划分
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • MaxCompute访问TableStore(OTS) 数据
  • Python利用正则抓取网页内容保存到本地
  • Redis中的lru算法实现
  • SQLServer之创建数据库快照
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 汉诺塔算法
  • 前端面试之CSS3新特性
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • nb
  • Linux权限管理(week1_day5)--技术流ken
  • 扩展资源服务器解决oauth2 性能瓶颈
  • ​3ds Max插件CG MAGIC图形板块为您提升线条效率!
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • ​虚拟化系列介绍(十)
  • # SpringBoot 如何让指定的Bean先加载
  • #单片机(TB6600驱动42步进电机)
  • (06)Hive——正则表达式
  • (12)目标检测_SSD基于pytorch搭建代码
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (C语言)fgets与fputs函数详解
  • (二)正点原子I.MX6ULL u-boot移植
  • (规划)24届春招和25届暑假实习路线准备规划
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (三)SvelteKit教程:layout 文件
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .net core开源商城系统源码,支持可视化布局小程序
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .NET 常见的偏门问题
  • .Net 基于MiniExcel的导入功能接口示例
  • .NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则