DAY20-JAVA的介面

介面
介面(interface)是JAVA所提供的另一项重要功能,它的结构和抽象类别非常相似。介面本身也具有资料成员与抽象函数,但它与抽象类别有以下两点不同:
(1)介面的资料成员必须初始化(设定初值)
(2)介面里的函数必须全部定义成abstract,换言之,介面不能像抽象类别一样保有一般函数,而必须全部都是「抽象函数」。

interface 介面名称{ //定义介面
final 资料型态 成员名称 = 常数; //资料成员必须设定初值
修饰子 abstract 传回值资料型态 函数名称(引数...); //抽象函数里,没有定义处理方式
}

interface Shape{  //定义Shape介面
    double PI = 3.14; //省略final关键字
    void area();    //省略abstract关键字
}

介面与一般类别一样,本身也具有资料成员与函数成员,但资料成员一定要有初值的设定,且此值将不能再更改,而函数必须是「抽象函数」。
记住以下两点:
(1)介面里的「抽象函数」,只要做定义名称,不用定义其处理方式。
(2)资料成员必须设定初值。
此外,介面里的抽象函数只能宣告为public,或是不做宣告,但不能宣告成protected或是private,以便让实作介面的类别都能取用到他。

实作
因为介面无法像一般类别一样,用new运算子直接产生一个物件。因此我们必须利用介面的特性来打造一个新的类别,再用他来建立物件。利用介面A打造新的类别B的过程,称为以类别B实作介面A,或简称为介面的实作(implementation)。

class 类别名称 implements 介面名称{
...
}

class Circle implements Shape{  //以Circle类别实作Shape介面
    double radius; 
    public Circle(radius r){  //建构元
        radius = r;
    }
    public void area(){    //省略abstract关键字
        System.out.println("area = "+PI*radius*radius);
    }
}

菜鸟工程师的体脂肪

菜鸟工程师也有分享食记,欢迎大家追踪喔~~
https://instagram.com/engineer_bodyfat?utm_medium=copy_link

连假结束的第一天上班上课日...
好累啊啊啊QQ
See U tomorrow~


<<:  Day08:08 - User服务(3) - 後端 - JWT token、修改个人资料

>>:  Day.13 「初步学习 Javascript 基础篇」 —— Javascript 宣告变数 与 基本型别

DAY08 - [CSS+RWD] 图文交错排版,资料不打结!

今日文章目录 应用情境 事前准备 CSS 说明 参考资料 应用情境 针对重复性的资料流中,指定其中...

从内建容器到善用资料结构特性

题组回顾与观念统整 在前三天的刷题实战中,我们一起完成了这三个经典的「基本」题: LeetCode...

Vaadin Pro Components - CRUD - day29

目的 本系列文一开始有好几篇文章都围绕着CRUD转,Vaadin 订阅制提供了 CRUD compo...

IOS、Python自学心得30天 Day-28 上传图片到Firebase Storage

根据官方文件给的方法上传 https://firebase.google.com/docs/stor...

Day19:[排序演算法]Bubble Sort - 气泡排序法

bubble sort的概念就是像泡泡一样 ,越大的数字会渐渐的往右边浮 比较相邻的元素 ,两两比...