java:简单小练习,面积
面积:圆和长方形
接口:实现面积
test:调用
一、interface:
对于接口,它是Java中一个新增的知识点,而C++中没有,因为Java有一个缺陷就是不可以实现多继承,只可以单继承,这就限制了有些功能的使用,于是为了让Java也能有这种能力,因为提出了接口的概念。
对于接口的基本概念,大家应该要回想一下abstract抽象类的概念,因为接口它与抽象类非常类似,在抽象类中我们可以了解到其实除了不可以实现一些抽象方法外,其余的和正常的类没有什么本质的区别,一些常量、变量,私有、静态方法都可以定义,但是在接口中,就只能有抽象方法以及常量,而且接口中所有抽象方法的访问权限都是public公开的,因为它也算是static静态方法,所以可以省略public和static这两个关键字。
但是从JDK8开始,就有了一些改变,接口中也可以定义default和private关键字修饰的方法,对于default关键字修饰的方法,不可以将此关键字省略,因为在接口体中不允许定义通常的带方法体的public实例方法;而对于private修饰的方法,则是配合default默认方法进行使用,即将某些算法封装在private方法中,供接口中的实例方法调用。
- 对于抽象类的话,如果你用一个抽象类去继承,那么你就不用重写这个抽象方法,当然对于接口也是一样
- 如果一个非abstract类实现了某个接口,那么这个类就必须重写该接口的所有抽象方法
- 如果一个abstract类实现了某个接口,那么这个类可以选择重写接口中的抽象方法或者该接口的抽象方法。
- 一个类可以实现多个接口,一个接口可以继承多个接口。
- 注意:接口中只包含抽象方法,静态方法,静态只读字段
1.长方形实现:implements
public class Rectangle implements shape {
double a,b;//长和宽
public double area(){
return a*b;
}
}
2.圆实现:
public class Circle implements shape {
double r;
public double area(){
return 3.14*r*r;
}
}
3.接口实现:
public interface shape {
double area();
}
4.test:
public class test {
public static void main(String[] args){
Circle Cobj=new Circle();
Cobj.area();
}
}