接口
package com.mgg.review;
/*
* 接口 interface 相当于完全抽象的类,用interface替换class定义接口
* 接口中的方法默认全部是public abstract
* 接口中的变量默认全部是public static final,都是静态终态常量
*※ 接口作为一个标准,定义做什么,但是不定义怎么做,即只有方法定义,没有方法实现
* 接口存在的目的是作为一种标准,被其他类实现(相当于继承)
* 一个类实现接口,必须实现接口中的所有方法,因为接口中的方法默认全部是抽象的
* 接口相当于完全抽象的类,不能实例化
*/
//如果一个类完全抽象,也就是包含的方法全是抽象方法,则考虑使用接口
interface Shape {
double PI = 3.14; //接口中的变量全部是常量,常量命名:全部大写 public static final
void calArea();
void calZhouchang();
}
//类和类:继承
//接口和接口:继承
//类和接口:实现,叫做类实现接口,实现相当于继承,实现用implements关键字
//圆形是一种形状
class Circle implements Shape {
double r;
@Override
public void calArea() {
System.out.println("圆的面积:" + PI * r * r);
}
@Override
public void calZhouchang() {
System.out.println("圆的周长:" + 2 * PI * r);
}
}
public class Demo4_Interface {
public static void main(String[] args) {
//接口是完全抽象的,不能实例化
Circle c = new Circle();
c.r = 4;
c.calArea();
c.calZhouchang();
}
}