• Java接口定义和实现


    1. 使用interface来定义一个接口。接口定义类似类的定义,分为接口的声明和接口体,其中接口体由常量定义和方法定义两部分组成。定义接口的基本格式如下:

    1 [修饰符] interface 接口名 [extends 父接口名列表]{
    2 [public] [static] [final] 常量;
    3 [public] [abstract] 方法;
    4 }

    修饰符:可选参数public,如果省略,则为默认的访问权限;

    接口名:指定接口的名称,默认情况下,接口名必须是合法的Java标示符,一般情况下,要求首字符大写;

    extends  父接口名列表:可选参数,指定定义的接口继承于哪个父接口。当使用extends关键字时,父接口名为必选参数。

    方法:接口中的方法只有定义而不能有实现

    例如:

    public interface IStudent {
        final int X = 10;
    
        float getScore(int studentNo);
    
        int getStudentAge(int StudentNo);
    }

    2.接口的定义完了,下面就是接口的实现了:

      Java实现接口,用implements:

    [修饰符] class <类名> [extends 父类名] [implements 接口列表]{
    }

    修饰符:可选参数,用于指定类的访问权限,可选值为public、abstract和final。
    类名:必选参数,用于指定类的名称,类名必须是合法的Java标识符。一般情况下,要求首字母大写。
    extends 父类名:可选参数,用于指定要定义的类继承于哪个父类。当使用extends关键字时,父类名为必选参数。
    implements 接口列表:可选参数,用于指定该类实现的是哪些接口。当使用implements关键字时,接口列表为必选参数。当接口列表中存在多个接口名时,各个接口名之间使用逗号分隔。

     1 public class Cire implements CalInterface   
     2 {  
     3     public float getArea(float r)   
     4     {  
     5         float area=PI*r*r;//计算圆面积并赋值给变量area  
     6         return area;//返回计算后的圆面积  
     7     }  
     8     public float getCircumference(float r)   
     9     {  
    10         float circumference=2*PI*r;      //计算圆周长并赋值给变量circumference  
    11         return circumference;           //返回计算后的圆周长  
    12     }  
    13     public static void main(String[] args)   
    14     {  
    15         Cire c = new Cire();  
    16         float f = c.getArea(2.0f);  
    17         System.out.println(Float.toString(f));  
    18     }  
    19 }  

       在类的继承中,只能做单重继承,而实现接口时,一次则可以实现多个接口,每个接口间使用逗号“,”分隔。这时就可能出现常量或方法名冲突的情况,解决该问题时,如果常量冲突,则需要明确指定常量的接口,这可以通过“接口名.常量”实现。如果出现方法冲突时,则只要实现一个方法就可以了。

  • 相关阅读:
    61. 最长不含重复字符的子字符串
    60. 礼物的最大价值 (未理解)
    59. 把数字翻译成字符串
    58. 把数组排成最小的数
    57. 数字序列中某一位的数字 (不懂)
    spring data jpa 官方文档
    idea 编译报错 源发行版 1.8 需要目标发行版 1.8
    idea maven 依赖报错 invalid classes root
    solr
    spring boot 官方文档
  • 原文地址:https://www.cnblogs.com/QQ931697811/p/4598164.html
Copyright © 2020-2023  润新知