接口

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

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

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中接口的概念及使用(补充final修饰符的使用)的更多相关文章

  1. java 中接口的概念

    接口接口在java中是一个抽象的类型,是抽象方法的集合,接口通常使用interface来声明,一个类通过继承接口的方式从而继承接口的抽象方法.接口并不是类,编写接口的方式和类的很相似,但是他们属于不同 ...

  2. Java中接口的概念

    接口的特点: A:接口用关键字interface表示 interface 接口名 {} B:类实现接口用 implements 表示 class 类名 implements 接口名 {} C:接口不能 ...

  3. java中的方法重载与重写以及方法修饰符

    1. 方法重载Overloading , 是在一个类中,有多个方法,这些方法的名字相同,但是具有不同的参数列表,和返回值 重载的时候,方法名要一样,但是参数类型和参数个数不一样,返回值类型可以相同,也 ...

  4. Java中的public、private、protected,函数修饰符

    1.public:public表明该数据成员.成员函数是对所有用户开放的,项目中其他脚本都可以直接进行调用 2.private:private表示私有,私有的意思就是除了脚本之外,项目中其他类都不可以 ...

  5. JAVA中接口与抛出异常的相关知识

    1.接口概念:接口可以理解为一种特殊的类,由全局常量和公共的抽象方法所组成. 类是一种具体实现体,而接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部数据,也不关心这些类里方法的实现细节,它只 ...

  6. Java中接口和抽象类的比較

    Java中接口和抽象类的比較-2013年5月写的读书笔记摘要 1. 概述 接口(Interface)和抽象类(abstract class)是 Java 语言中支持抽象类的两种机制,是Java程序设计 ...

  7. 浅谈Java中接口与抽象类的异同

    浅谈Java中接口与抽象类的异同 抽象类和接口这两个概念困扰了我许久,在我看来,接口与抽象类真的十分相似.期间也曾找过许许多多的资料,参考了各路大神的见解,也只能是简简单单地在语法上懂得两者的区别.硬 ...

  8. Java 中接口和抽象类的 7 大区别!

    本文已收录<Java常见面试题>:https://gitee.com/mydb/interview ​ Java 是一门面向对象的编程语言,面向对象的编程语言有四大特征:抽象.封装.继承和 ...

  9. java 中包的概念,常量,静态与继承

    一.包的概念:创建,使用. 1.新建包: 最上面一行,之前不能再有其它代码了. package 包名; 注意:包名一般都有命名的规范.例如:com.itnba.maya.zy(从大到小). 2.使用包 ...

随机推荐

  1. 设计模式之十一:抽象工厂模式(Abstract Factory)

    抽象工厂模式: 提供了一个创建一系列相关的或相互依赖的对象的接口而不须要详细指定它们的类型. Provide an interface for creating families of related ...

  2. hdu 5371 Hotaru&#39;s problem【manacher】

    题目链接: http://acm.hdu.edu.cn/showproblem.php? pid=5371 题意: 给出一个长度为n的串,要求找出一条最长连续子串.这个子串要满足:1:能够平均分成三段 ...

  3. 在spring mvc中利用ajax批量删除数据

    1.前台代码: $("#batchdelete").click(function(){ $.ajax({ type: "post", url: url, dat ...

  4. secureCrt Linux 文件传输

    1.在secureCRT终端下输入rz命令,查看Linux是否安装rz文件传输服务 如果提示未安装则先安装rz服务:安装命令:   apt-get install lrzsz 2.进入要上传的目的文件 ...

  5. vmstat 命令

    vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存.进程.CPU活动进行监控.他是对系统的整体情况进行统计,不足之处是无法对某个进程进行深 ...

  6. UVA-11625-Nice Prefixes (DP+矩阵快速幂)

    题目(vjudge) 题面 题意: 你有K个字母,你需要用K个字母组成L长度的字符串,定义对于该字符串的任意前缀P 必须满足    ,输出方案数%1000000007的值. 思路: 首先可以想到一种简 ...

  7. MIC中示例程序计算π

    mic中编程十分简单,只需在普通程序中简单加几句就可以,使用 lspci|grep -i -co-processor 命令可以查看机器中是否插入MIC卡以及MIC卡的数目,MIC编程环境的配置这里就不 ...

  8. spring boot集成activemq

    spring boot集成activemq 转自:https://blog.csdn.net/maiyikai/article/details/77199300

  9. 功能强大的图片截取修剪神器:Android SimpleCropView及其实例代码重用简析(转)

    功能强大的图片截取修剪神器:Android SimpleCropView及其实例代码重用简析 SimpleCropView是github上第一个第三方开源的图片修剪截取利器,功能强大,设计良好.我个人 ...

  10. CSMA/CD解释与理解

    1. CSMA/CD含义 CSMA/CD即载波监听多点接入/碰撞检测,此协议是使用在总线型网络中的,不同计算机是通过多点接入的方式连接在一起.协议的重点在于监听和碰撞检测. 2. 为什么要监听和碰撞检 ...