1-2 继承和接口

2023-11-11

1 继承(关键字extends)

  • 父类中私有成员可以被继承,只是外界无法访问
  • 父类中公共属性、方法可以被子类继承
  • 支持单继承,多重继承(单链式继承),不支持多继承(一个类继承多个父类)
  • 子类中的方法重写必须是父类中已有的方法
  • 重写后再次调用父类的方法使用关键字super 例如 super.需要调用父类中的方法;
  • super必须在子类构造器中第一句
  • 重写与重载的区别
  • 重写:方法名、参数跟父类方法一致,只是方法体内容不一样(运行时多态)
  • 重载:方法名一致,形参返回值不一致(编译时多态)
  • Java中,在创建类时,都会默认继承Object类
  • 只要父类构造方法不发生重载(保留无参的) 子类无需改动
  • 需要遵循先构造父类,在构造子类的顺序

2 接口

  • 接口(英文:Interface),在JAVA编程语言中是一个抽象类型,是抽象方法的集合
  • 接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法
  • 接口无法被实例化,但是可以被实现

2.1 接口与类的异同点

  • 接口不能用于实例化对象
  • 接口没有构造方法
  • 接口中所有的方法必须是抽象方法,Java 8 之后 接口中可以使用 default 关键字修饰的非抽象方法
  • 接口不能包含成员变量,除了 static 和 final 变量
  • 接口不是被类继承了,而是要被类实现
  • 接口支持多继承
  • 接口和类都可以有多个方法
  • 文件名类似

2.2 实例

package objectOriented;
//接口demo

public interface Animal {
    static int height = 0;
    public void eat();
    public void travel();
}
package objectOriented;

public class testAnimal_interface implements Animal{
    public void eat(){
        System.out.println("tiger eat");
    }

    public void travel(){
        System.out.println("tiger travel");
    }

    public int numOfLegs(){
        return 0;
    }

    public static void main(String[] args) {
        testAnimal_interface tiger = new testAnimal_interface();
        tiger.eat();
        tiger.travel();
        System.out.println(tiger.numOfLegs());
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

1-2 继承和接口 的相关文章

随机推荐

  • 回来喂马啊

    继续回来喂马了 1 这么多天没更新的原因 断更也有一段时间了 近期实在是业务过于繁忙 上线了项目之后又开启了新的项目 确实很难顾得上 毕竟一下班回家就累的只想躺平哈哈哈哈 还有一个原因是新项目和后续的项目转用了SpringBoot Myba
  • ios中的锁

    代码测试可参考 只有实际写过才能更好的理解 在平时开发中我们经常会使用多线程 多线程为我们带来了很大便利 也提高了程序的执行效率 但同时也带来数据风险 当至少有两个线程同时访问同一个变量 而且至少其中有一个是写操作时 就发生了Data ra
  • java中栈的使用

    栈是什么 栈的定义 栈是我们经常使用的一种线性数据结构 它是只能通过一端操作的线性表 我们可以操作的一端称之为栈顶 另一端则称之为栈底 特点 栈通常和队列作比较 队列的特点是先进先出 栈的特点则是先进后出 举一个例子 比如说我们生活中洗碗
  • hdu 6181 Two Paths

    Problem acm hdu edu cn showproblem php pid 6181 Reference Dijkstra应用之次短路 2017 Multi University Training Contest 10 1011
  • 基于微信小程序的在线小说阅读系统,附数据库、教程

    1 功能简介 Java基于微信小程序的在线小说阅读系统 微信小程序的在线小说阅读系统 系统的整体功能需求分为两部分 第一部分主要是后台的功能 后台功能主要有小说信息管理 注册用户管理 系统系统等功能 微信小程序主要分为首页 分类和我的三部分
  • ArcSDE 日志文件表(一)

    今天跟大家介绍一下ArcSDE日志文件表 一直都想好好研究一下这块 因为基本上不太受大家重视 感兴趣的用户不是很多 但是一旦出现多用户并发查询或者版本操作的时候 这个东西就显得非常重要了 而且根据不同的用户场景设定不同的日志类型 对相关效率
  • HTTP超文本传输协议

    HTTP协议 超文本传输协议 注意 我们以后编写Servlet类时 不会直接继承GenericServlet类 因为我们是B S结构系统 这种系统是基于HTTP超文本传输协议的 他有一个专门的Servlet类 我们编程的时候要继承HttpS
  • esp8266 esp12 AT指令连接wifi热点联网,HTTP获取OneNET物联网平台消息,控制四路远程开关

    esp8266 esp12 使用AT指令联网非常方便 很适合应对已经开发好的成品需要增加联网功能的需求 使用AT指令进行开发 大多数是产品已经开发好 只需要增加小数据量的联网功能 而且不想对既有成品有较大的方案修改 下面来使用 esp826
  • AttributeError: 'generator' object has no attribute 'next'

    在python3 x版本中 python2 x的g next 函数已经更名为g next 所以只需要将g next 换成g next 就可以了 如果你觉得g next 太丑 使用next g 也能达到相同效果
  • CentOS7中使用yum安装Nginx的方法

    最近无意间发现Nginx官方提供了Yum源 因此写个文章记录下 1 添加源 默认情况Centos7中无Nginx的源 最近发现Nginx官网提供了Centos的源地址 因此可以如下执行命令添加源 sudo rpm Uvh http ngin
  • Ubuntu18.04下安装OpenCV4.2.0与Opencv_contrib(图文详细报错总结)

    Ubuntu18 04下安装OpenCV4 2 0与Opencv contrib 图文详细 前期准备 环境依赖 Cmake 编译器 依赖环境 Python环境 streamer环境 图像处理依赖 安装OpenCV 编译OpenCV 配置cm
  • Unity3d--AR/MR 技术

    一 作业要求 1 图片识别与建模 2 虚拟按键小游戏 3 开发城市定向越野运动 MR 游戏 可选 游戏要求 准备 选择为每个用户准备一套拼图图片 含干扰图片 按一定策略发布到目标位置 随机位置偏移 越野地图一张 开始游戏 玩家在起点 用手机
  • EMC测试项目——辐射骚扰

    辐射骚扰 Radiation emission 主要是指能量以电磁波的形式由源发射到空间 或能量以电磁波形式在空间传播的现象 辐射骚扰是电磁兼容的重要内容 也是测试最不容易通过且最难整改的项目 辐射骚扰超标的产品可能引起周围装置 设备或系统
  • rust腐蚀怎么建立单机服务器_腐蚀rust新手入门指南 腐蚀rust怎么开始游戏

    如何开始游戏 巴拉巴拉那么多现在开始步入正轨吧 点击find game 就进入了服务器列表 在这里你可以加入官方的服务器 热闹但高延迟 也可以加入玩家自己设置的服务器 有些服务器不怎么友好详情请看贴吧举报贴 1 官方服务器列表 2和3 玩家
  • 解决JDK版本导致JMeter无法启动问题

    最近在做一个秒杀系统练习时 需要使用JMeter进行压力测试 但是安装JMeter后 出现了以下错误 很明显是JDK的版本问题导致的 但是我又不想改变系统的JDK版本 所以可以下载高版本的JDK 无需改变系统的JDK版本 直接在bin jm
  • nginx-代理多个服务

    目录 1 主机多Ip 1 1单网卡多ip主机配置 1 2修改default conf 1 3server1 conf 1 3server2 conf 1 4测试文件 1 4重启测试 2 主机多端口 2 1server1 conf 2 2se
  • 三个不等_高中数学竞赛常用的不等式归纳(续一)

    当 时 代入 23 为减少篇幅就不在此写出完整的 23式 下同 式得 即 25 25 式正是 22 九 加权不等式 9 1若 且 则 26 26 式就是加权的均值不等式 简称加权不等式 26 式形式直接理解为 几何均值不大于算术均值 十 赫
  • 2020第八届“泰迪杯”特等奖(基于 BERT 深度语言模型的“智慧政务”文本挖掘应用)

    目录 1绪论 1 1 智慧政务 文本挖掘的意义 1 2 智慧政务 文本挖掘的目标 1 3语言智能的里程碑技术 BERT 深度语言模型介绍 1 4本文的总体框架 1 5本文主要的创新之处 2基于 BERT 模型的留言自动分类 2 1任务介绍与
  • 数据库连接池C3P0学习

    数据库连接池C3P0框架是个非常优异的开源jar 高性能的管理着数据源 这里只讨论程序本身负责数据源 不讨论容器管理 一 实现方式 C3P0有三种方式实现 1 自己动手写代码 实现数据源 例如 在类路径下配置一个属性文件 config pr
  • 1-2 继承和接口

    1 继承 关键字extends 父类中私有成员可以被继承 只是外界无法访问 父类中公共属性 方法可以被子类继承 支持单继承 多重继承 单链式继承 不支持多继承 一个类继承多个父类 子类中的方法重写必须是父类中已有的方法 重写后再次调用父类的