首页 > 其他分享 >类和接口

类和接口

时间:2023-10-19 21:32:04浏览次数:32  
标签:定义 接口 final 关键字 Shape 修饰 public

类和接口

今日份学习final关键字和接口。

  • final关键字凡是被final关键字修饰过的内容都是不可改变的。
  1. final变量final关键字可用于声明变量,一旦变量被设定,就不可以再改变该变量的值。通常,由final关键字定义的变量为常量。
    final关键字定义的变量必须在声明时对它进行赋值操作。它除了可以修饰基本数据类型的常量,还可以修饰对象引用,也可以修饰数组(数组可以看作一个对象来引用)。
  2. final方法final方法可以防止子类修改父类的定义与实现方法,同时执行效率高于非final方法。
    在权限修饰中,一个定义为private的方法被隐式被指定为final类型,因此无需重复定义。
    【例】private final void test(){
    … //省略一些程序代码
    }

  3. final类

定义为final类就不能被继承。所以说,如果希望一个类不被任何类继承,并且不允许其他人对这个类进行任何改动,可以将这个类设置为final类。

final 类名()

如果将某个类设置为final类, 则该类中的所有方法都被隐式设置为final方法,但是final类中的成员变量可以被定义为final形式或者非final形式。

  • 多态利用多态可以使程序具有良好的扩展性,并可以对所有对象进行通用的处理。
    使用多态节省了开发和维护的时间,同时,只要实例化一个继承父类的子类对象,即可以调用相应的方法。
    【例】万能的绘图方法
    class Shape{}
    class Square extends Shape{}
    class Circular extends Shape{}

    public class Demo2 {

    public static void draw(Shape s) {
    if(s instanceof Square) {
    System.out.println("绘制正方形");
    }else if(s instanceof Circular) {
    System.out.println("绘制图形");
    }else {
    System.out.println("绘制父类图形");
    }
    }
    public static void main(String[] args) {
    draw(new Shape());
    draw(new Square());
    draw(new Circular());
    }

    }
    结果为:

类和接口_final关键字

  • 接口

使用关键字interface进行定义。

在接口中,方法必须被定义为public或者abstract形式,其他修饰权限不被JAVA编译器认可。或者说,即使不将该方法声明为public形式,它也是public形式。

在接口中定义的任何字段都自动是static和final的。

标签:定义,接口,final,关键字,Shape,修饰,public
From: https://blog.51cto.com/u_15966010/7942381

相关文章

  • 2023年CANN训练营第二季——叭一叭几款AscendC算子支持芯片的运算单元以及AscendC提供
    前言:    我们知道昇腾AI芯片,有1个或多个AiCore,AiCore上有Cube和Vector运算单元提供给算子进行运算,有的AiCore是Cube和Vector一体的,有的Cube和Vector是分开,各自独立的。我们还记得例程中的例子一般都指定核心数BLOCK_DIM=8,这又是为什么,有啥道理呢?本文就来叭一叭,昇腾芯片的运......
  • 接口管理神器Apipost
    自诞生以来,Apipost凭借其简洁直观的用户界面、强大的功能以及简单、易上手的操作,让Apipost成为了开发人员不可或缺的工具。本文将详细介绍Apipost的主要功能和使用方法,帮助大家更好地了解这款优秀的API开发工具。下载安装直接进入Apipost官网下载即可,也可以直接使用web端无需下载AP......
  • 接口管理神器Apipost
    自诞生以来,Apipost凭借其简洁直观的用户界面、强大的功能以及简单、易上手的操作,让Apipost成为了开发人员不可或缺的工具。本文将详细介绍Apipost的主要功能和使用方法,帮助大家更好地了解这款优秀的API开发工具。下载安装直接进入Apipost官网下载即可,也可以直接使用web端无需下......
  • 山石防火墙不同HA组需要配置不同的IP,不然接口地址MAC会冲突
    配置山石防火墙HA和管理地址,调试之后,发现管理地址不通。在网关设备上查看ARP信息,发现mac地址获取的位置不对,根据路径查询到另一组山石防火墙。接口MAC地址竟然一样!!!!!!!!!询问客服得知是因为HA配置问题,两组防火墙HAIP地址不能相同。接口MAC地址是根据这个进行计算的。这两组墙都配置......
  • celery包结构、celery延迟任务和定时任务、django中使用celery、接口缓存、双写一致性
    celery包结构project├──celery_task #celery包  这个包可以放在任意位置│├──__init__.py#包文件│├──celery.py#celery连接和配置相关文件,且名字必须叫celery.py│└──tasks.py#所有任务函数│├──add_task.p......
  • Spring扩展接口(3):BeanFactoryPostProcessor
    在此系列文章中,我总结了Spring几乎所有的扩展接口,以及各个扩展点的使用场景。并整理出一个bean在spring中从被加载到最终初始化的所有可扩展点的顺序调用图。这样,我们也可以看到bean是如何一步步加载到spring容器中的。BeanFactoryPostProcessor1、概述publicinterfaceBea......
  • vs2019设置添加类和接口自动添加作者信息
    参考:https://www.cnblogs.com/minuhy/p/14058721.html 一、找到VisualStudio2019安装目录如我的:D:\ProgramFiles(x86)\MicrosoftVisualStudio\2019\Community\Common7\IDE\ItemTemplates\CSharp\Code\2052二、修改类模板文件 #region<<版本注释>>/*---......
  • 国标GB28181视频平台LiteCVR接入云台控制接口,为何出现了延时?
    随着现代科学技术发展越来越迅速,我国安防领域开始不断顺应技术改革需求,对监控技术进行创新,应用和提高智能视频监控技术的功能性,进一步推动现代安防领域工作的有效发展。LiteCVR视频融合平台基于云边端一体化架构,部署轻快、功能灵活,平台可支持多协议、多类型设备接入,包括:国标GB28......
  • Java拾贝第五天——抽象和接口
    Java拾贝不建议作为0基础学习,都是本人想到什么写什么如果父类的方法本身不需要实现,仅仅是为了定义方法。目的是让子类去重写它,那么,可以把父类的方法声明为抽象(abstract)方法classCandy{publicabstractvoidsell();}//无法通过编译若某类中拥有一个或若干个抽象方......
  • SpringBoot限制接口访问频率
    功能说明可以通过注解快速实现类似一段时间内仅可以搜索N次,或一段时间内只能点赞N次,以及一段时间内尝试登陆多次即被禁止一小时等类似功能。github地址中文文档第一步:添加Maven依赖<dependency><groupId>io.github.liuye744</groupId><artifactId>simpleAuth-sprin......