java接口定义和作用

接口语法

1.接口是一种引用类型,可以等同看作类。修饰符 interface 接口名

2.接口中只能出现常量和抽象方法

3.接口其实是一个特殊的抽象类,特殊在接口是完全抽象的

4.接口中没有构造方法,接口也无法实例化

5.接口和接口之间可以多继承

6.一个类可以实现多个接口,这里的实现等同于继承

7.一个非抽象的类实现接口,需要将接口中所有方法实现/重写/覆盖

#java
package study1;

public interface A{
    //常量都是public static final,可省略
    public static final String sucess = "SUCCESS";
    public static final double pi = 3.14;
    byte max_value = 127;
    //接口中所有的抽象方法都是public abstract,
    public abstract void m1();
    //接口方法不能有方法体,如 void m22(){};会提示interface abstract methods cannot have body

    void m2();

    interface B{
        void m1();
    }
    interface C{
        void m2();
    }
    interface D{
        void m3();
    }
    interface E extends B,C,D{
        void m4();
    }
    /*
    extends只能单继承,implements可以多继承
    如果实现的接口有多个方法,必须覆盖接口中的方法。
    */
    class MyClass implements B,C{
        public void m2(){}
        public void m1(){}
    }
    class MyClass2 implements E{

        public void m1(){};
        public void m2(){};
        public void m3(){};
        public void m4(){};
    }
}

接口的作用

#java
package date818;

/**
 * 接口的作用:
 * 1。可以使项目分离,所有层都面向接口开发,提高开发效率
 * 2。接口是代码和代码之间的耦合度降低。变得可插拔,可以随意切换。
*  3。接口和抽象类都能完成某个功能,优先选择接口,因为接口可以多实现,多继承。并且一个类除了接口之外,还可以继承其他类
 */
public interface CustomerService {
    //定义一个推出系统的方法
    void logout();
}

package date818;
//接口实现类1
public class CustomerServierImpl implements CustomerService {
    public void logout(){
        System.out.println("成功退出系统");
    }
}

package date818;
//接口实现类2
public class CustomerServiceImpl2 implements CustomerService{
    public void logout(){
        System.out.println("hello world");
    }
}

package date818;

public class TestCustomer {
    public static void main(String[] args){
        //需要执行CustomerServiceImpl和CustomerImpl2接口实现类中的logout方法
        //以下程序面向接口调用
        CustomerService cs = new CustomerServierImpl();//多态。父类型引用指向子类型对象
        //调用
        cs.logout();
        CustomerService cs2 = new CustomerServiceImpl2();
        cs2.logout();
    }
}

原文地址:https://www.cnblogs.com/csj2018/p/9515106.html

时间: 2024-10-29 19:09:48

java接口定义和作用的相关文章

Java接口定义和实现

1. 使用interface来定义一个接口.接口定义类似类的定义,分为接口的声明和接口体,其中接口体由常量定义和方法定义两部分组成.定义接口的基本格式如下: 1 [修饰符] interface 接口名 [extends 父接口名列表]{ 2 [public] [static] [final] 常量; 3 [public] [abstract] 方法; 4 } 修饰符:可选参数public,如果省略,则为默认的访问权限: 接口名:指定接口的名称,默认情况下,接口名必须是合法的Java标示符,一般情

Java接口定义(interface)及使用(implements)

1. 在类的声明中,通过关键字extends来创建一个类的子类.一个类通过关键字implements声明自己使用一个或者多个接口.extends 是继承某个类, 继承之后可以使用父类的方法, 也可以重写父类的方法; implements 是实现多个接口, 接口的方法一般为空的, 必须重写才能使用2.extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承,JAVA中不支持多重继承,但是可以用接口 来实现,这样就要用到implements,继承只能继承一个

java接口定义统一的异常处理,aop

统一异常处理,aop import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.*; import org.springframework.stereotype.Component; import java.util.HashMap; import java.util.Map; @Aspect @Component public class TestAop { /** * 定义切入点 */ @P

java 接口的作用和好处

1.java 接口的作用 http://blog.csdn.net/hack_bug/article/details/7634737 2.一位Java大牛的回答 很多JAVA初级程序员对于接口存在的意义很疑惑.不知道接口到底是有什么作用,为什么要定义接口. 好像定义接口是提前做了个多余的工作.下面我给大家总结了4点关于JAVA中接口存在的意义: 1.重要性:在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制.正是由于这两种机制的存在,才赋予了Jav

java接口的作用是什么?

我想,可能不止我一个人有这个疑问,所以,把它贴出来. 下面是madai和clkrst给我的回答. 在此谢谢两位. 我的问题是: java 的接口到底起什么作用? 1.从书中看到的是java程序的接口中只定义了常量及空方法,空的方法有什么用呢?还要在类中写方法体,那还要接口干什么? 2.一个程序中写了2个接口,并在同一个类中写方法体,这与多继承有什么关系. 3.包中那些已定义的接口,怎么知道那里面定义了什么方法. 说到底,接口有什么实际意义,哪本书都不讲,一味的讲是多继承,不结合实际实在不好懂.

java接口的作用是什么?<转>

< 下面是madai和clkrst的回答. 我的问题是: java 的接口到底起什么作用? 1.从书中看到的是java程序的接口中只定义了常量及空方法,空的方法有什么用呢?还要在类中写方法体,那还要接口干什么? 2.一个程序中写了2个接口,并在同一个类中写方法体,这与多继承有什么关系. 3.包中那些已定义的接口,怎么知道那里面定义了什么方法. 说到底,接口有什么实际意义,哪本书都不讲,一味的讲是多继承,不结合实际实在不好懂. Madai的理解是: java接口的用处主要体现在下面几个方面: (1

教你在Java接口中定义方法

基本上所有的Java教程都会告诉我们Java接口的方法都是public.abstract类型的,没有方法体的. 但是在JDK8里面,你是可以突破这个界限的哦. 假设我们现在有一个接口:TimeClient,其代码结构如下: import java.time.*; public interface TimeClient { void setTime(int hour, int minute, int second); void setDate(int day, int month, int yea

Java常量定义需要注意事项及static作用(复习)

在任何开发语言中,都需要定义常量.在Java开发语言平台中也不例外.不过在Java常量定义的时候,跟其他语言有所不同.其有自己的特色.在这篇文章中,主要针对Java语言中定义常量的注意事项进行解析,帮助各位程序开发人员更好的掌握常量的定义与管理工作. 一.常量定义的基本注意事项 在Java语言中,主要是利用final关键字(在Java类中灵活使用Static关键字)来进行Java常量定义.当常量被设定后,一般情况下就不允许再进行更改.如可以利用如下的形式来定义一个常量:final double

Java 8新特性-接口定义增强

为了解决当原有的接口中方法不足时,向原有的接口中添加新的方法,该接口下的N多实现类也需要重写该方法的问题!Java8引入了接口定义增强概念! Java8 打破了原有的接口的方法定义: 公共的.抽象的  默认方法: Java 8 还允许我们给接口添加一个非抽象的方法实现,只需要使用 default 关键字即可,这个特征又叫做扩展方法. 在实现该接口时,该默认扩展方法在子类上可以直接使用,它的使用方式类似于抽象类中非抽象成员方法. 但扩展方法不能够重载 Object 中的方法.例如:toString