zoukankan      html  css  js  c++  java
  • java中接口的概念及使用(补充final修饰符的使用)

    接口

    初期理解,可以是一个特殊的抽象类

    当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示


    class 用于定义类
    interface 用于定义接口


    接口定义时,格式特点:

    1、接口中常见的定义,一个是常量,一个是抽象方法
    2、接口中成员都有固定的修饰符
    常量:public static final 显示声明或默认声明(final见补充)
    方法:public abstract
    记住:接口中的成员都是public的 
    接口是不可以创建对象的,因为有抽象方法。
    需要被子类全部实现,否则子类也是抽象类

    接口实现多继承条件:

    定义接口可以解决JAVA中无法多重继承的问题。
    而且可以实现“多态” JAVA只支持单一继承,为弥补这一点,JAVA引入了接口这个概念,
    简单的说接口是对某个事物对外提供的一些功能 的声明。

    java只在接口与接口之间支持多继承。

    java没有多继承,除非是接口多继承,并且被继承的接口的约定不能产生冲突,

    比如C接口继承A接口和B接口,A接口有一个 void a(),B接口就不能有 int a()


    java支持多实现:

    接口可以被多实现,也是对多继承不支持的转换形式。java支持多实现

    接口与接口之间也可以继承。

    一个类可以继承类和实现接口同时进行

    示例代码:

    <pre name="code" class="java">interface Inter
    {
    	public static final int NUM=1;
    	public abstract void show();
    
    }
    
    interface InterA
    {
    	public abstract void method();
    }
    
    class Demo
    {
    	public void function(){}
    }
    class Test extends Demo implements Inter,InterA
    {
    	
    	public void show(){}
    	public void method(){}
    }
    
    interface A
    {
    	public void methodA(){}
    }
    
    interface B extends A
    {
    	public void methodB(){}
    }
    
    interface C extends B
    {
    	public void methodC(){}
    
    }
    
    class D implements C
    {
    	public void methodA(){}
    	public void methodB(){}
    	public void methodC(){}
    }
    
    class  InterfaceDemo
    {
    	public static void main(String[] args) 
    	{
    		Test t=new Test();
    		System.out.println(t.NUM);
    		System.out.println(Test.NUM);
    		System.out.println(Inter.NUM); //Interface编译后也会生成class文件,可以调用}
             }
    }

    
    

    
    

    补充:final修饰符的使用

    final的使用:

    fianl:最为一个修饰符;

    1、可以修饰类,函数、变量。

    2、被final修饰的类不能被继承,为了避免被继承,被子类的复写功能

    3、被final修饰的方法不能被复写

    4、被final修饰的变量是一个常量,只能赋值一次,既可以修饰成员变量,又可以修饰局部变量

    当在描述事物时,一些数据的出现值是固定的,那么这时为了增强阅读性,都给这些值起个名字,方便与阅读

    而这个值不需要改变,所以加个final进行修饰。

    作为常量,常量的书写规范所有字母都大写,如果多个单词组成,单词间通过_连接

    5、内部类定义在类中的局部位置上时,只能访问该局部被final修饰的局部变量

    final示例代码

    class Demo
    {
    	final int x=3;
    	public static final double PI=3.14;//成为全局常量
    	final void show1()
    	{}
    	void show2()
    	{
    		fianl int y=4;
    	}
    }
    
    class SubDemo extends Demo
    {
    }
    class  
    {
    	public static void main(String[] args) 
    	{
    		System.out.println("Hello World!");
    	}
    }
    


  • 相关阅读:
    java OA系统 自定义表单 流程审批 电子印章 手写文字识别 电子签名 即时通讯
    flowable 获取当前任务流程图片的输入流
    最新 接口api插件 Swagger3 更新配置详解
    springboot 集成 activiti 流程引擎
    java 在线考试系统源码 springboot 在线教育 视频直播功能 支持手机端
    阿里 Nacos 注册中心 配置启动说明
    springboot 集成外部tomcat war包部署方式
    java 监听 redis 过期事件
    springcloudalibaba 组件版本关系
    java WebSocket 即时通讯配置使用说明
  • 原文地址:https://www.cnblogs.com/xiangyangzhu/p/4260840.html
Copyright © 2011-2022 走看看