接口(忽略的知识点)

简介: 接口属性只能是final的,而且是public static final修饰符比如int a=10; 其实上是public static final int a=10;

接口格式


interface 接口名{


       //属性;


       //方法;(1.抽象方法 2.默认实现方法 3.静态方法


}


接口的修饰符


只能是default和public,和类一样


接口属性


只能是final的,而且是public static final修饰符


比如int a=10; 其实上是public static final int a=10;


属性的访问


接口名.属性名


接口方法


在JDK7中,接口中的方法都是没有方法体的


JDK8中,接口可以有默认的实现方法,需要default关键词修饰


               ,接口也可以有静态的实现方法,需要static关键词修饰


定义接口:

public interface DBcon{
    public void con();
    public void close();
}


定义两个使用接口的类

public class SQL implements DBcon{
    @Override
    public void con(){
        System.out.println("连接SQL");
    }
    @Override
    public void close(){
        System.out.println("断开SQL");
    }
    //特有方法
    public void open(){
        System.out.println("打开SQL");
    }
}


public class Oracle implements DBcon{
    @Override
    public void con(){
        System.out.println("连接Oracle");
    }
    @Override
    public void close(){
        System.out.println("断开Oracle");
    }
}


在主程序中定义一个有接口参数的方法,只要是实现了接口类的类的对象,都是可以传递进去的,并且会执行实现了此接口的类的对象中的con()方法和close()方法。(不需要向上转型为接口对象传入参数)(体现多态,接口引用可以指向实现了接口的类的对象)

public void t(DBcon db){
    db.con();
    db.close();
}


然后用两个类的对象分别调用

SQL sql=new SQL();
t(sql);//输出连接SQL和断开SQL
Oracle o=new Oracle();
t(o);//输出连接Oracle 和断开Oracle 


多态接口数组

//定义一个接口数组
DBcon[] cons=new DBcon[2];
//为什么能放进去这个对象,因为这个类实现了此接口
cons[0]=new SQL();
//所以可以放进去所有实现了此接口的类的对象
cons[1]=new Oracle();


打印不同对象的close方法


再调用某个对象的特有方法

for(int i=0;i<cons.Length;i++){
    cons[i].close();//动态绑定机制
    //如果想要调用数组中某个对象的特有方法
    //判断某个对象是否是相应的类对象(判断运行类型)
    if(cons[i] instanceof SQL){
        //如果是,则强制向下转型并调用方法
        ((SQL)cons[i]).open();
    }
}


多态传递


B接口继承A接口


类实现B接口,相当于也实现了A接口


super.xxx 访问父类属性....等


接口名.xxx 访问接口属性...等

目录
相关文章
|
2月前
|
存储 C++
【C++】多态(重写)的实现过程及其原理【核心知识点精讲】(22)
【C++】多态(重写)的实现过程及其原理【核心知识点精讲】(22)
|
9月前
【面试题精讲】接口和抽象类有什么共同点和区别?
【面试题精讲】接口和抽象类有什么共同点和区别?
|
10月前
|
Java 编译器
谈谈接口 0.0
在现实生活中,接口的例子比比皆是,比如:笔记本上的USB口,电源插座等... 电脑的USB口上,可以插:U盘、鼠标、键盘...所有符合USB协议的设备。 电源插座插孔上,可以插:电脑、电视机、电饭煲... 接口就是公共的行为规范标准,大家在实现时,只要符合规范标准,就可以通用! 那么在java中怎么定义接口呢? 在Java中,接口可以看成是:多个类的公共规范,是一种引用数据类型。
46 0
|
26天前
|
Java
接口基础知识
接口基础知识
9 1
|
20天前
|
Java
Java基础7-一文搞懂抽象类和接口,从基础到面试题,揭秘其本质区别(二)
Java基础7-一文搞懂抽象类和接口,从基础到面试题,揭秘其本质区别(二)
18 0
|
20天前
|
设计模式 Java 内存技术
Java基础7-一文搞懂抽象类和接口,从基础到面试题,揭秘其本质区别(一)
Java基础7-一文搞懂抽象类和接口,从基础到面试题,揭秘其本质区别(一)
23 0
|
9月前
|
设计模式 安全 C++
C++进阶 特殊类的设计
C++进阶 特殊类的设计
27 0
|
9月前
|
算法 网络协议 开发者
|
存储 编译器 C++
C嘎嘎~~ [类 下篇]
C嘎嘎~~ [类 下篇]
|
SQL 监控 Java
魔法反射--java反射进阶(实战篇)
相信很多人在初学反射的时候也都会有这个想法(我就不相信就只有我一个人这么蠢!!) 大多数人不了解反射的原因并不是不了解, 而是不知道它到底能用来干什么 今天就来为大家分享一下反射的用法
61 0