day09---接口

day09---接口,第1张

day09---接口 接口:

定义:public interface 接口名{ }
接口继承:public interface 接口名 extends 父接口列表{ }
接口实现:修饰符 class 类名 implements 父接口列表{ }
规则:
1.接口可以实现多重继承,即一个接口或类可以有多个父接口(用逗号隔开)。一个普通类实现接口,就必须实现接口中所有的抽象方法
2.接口访问控制符只能为public或省略。
3.使用implements实现接口,必须重写接口中的抽象方法
4.当两个接口的方法重名时若有实体方法,则需要重写重名的方法。
5.使用关键字interface声明接口{对所用子类的方法(行为)进行规范}。
6.方法的声明:接口中声明的方法默认使用public abstract 来修饰。
7.接口只能声明default访问类型的实体方法。
8.属性的声明:接口中的默认是public static final修饰。

抽象类和接口的区别:接口不能直接实例化对象,不能有构造方法,不能包含成员变量,可以实现多重继承。接口可对不同类型对象的行为进行抽象,抽象类是对特定类型对象的抽象。
实例:

public class Test1 {
	public static void main(String[] args) {
		If1 i1=new Changfangti(3,2,1);
		System.out.println("长方体的表面积为:"+i1.area());
		If2 i2=new Changfangti(3,2,1);
		System.out.println("长方体的体积为:"+i2.volume());
	}
}
interface If1{
	//实体方法
	double area();//默认使用public abstract 修饰
}
interface If2{
	//实体方法
	double volume();//默认使用public abstract 修饰
}
//必须实现接口中的所有方法。area(),volume()
class Changfangti implements If1,If2{
	double l,s,h;
	public Changfangti(double l,double s,double h) {
		this.h=h;
		this.l=l;
		this.s=s;
	}
	
	@Override
	public double volume() {//必须重写接口中的方法
		// TODO Auto-generated method stub
		return l*s*h;
	}

	@Override
	public double area() {//必须重写接口中的方法
		// TODO Auto-generated method stub
		return 2*s*h+4*l*h;
	}
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5707702.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存