设计一个Shape接口和它的两个实现类Square和Circle

设计一个Shape接口和它的两个实现类Square和Circle
1)Shape接口中有一个抽象方法area(),方法接收有一个double类型的参数,返回一个double类型的结果
2)Square和Circle中实现了Shape接口的area()抽象方法,分别求正方形和圆形的面积并返回
在测试类中创建Square和Circle对象,计算边长为2的正方形面积和半径为3的圆形面积

利用

implements

来连接接口

implements是一个类实现一个接口用的关键字,他是用来实现接口中定义的抽象方法。比如:people是一个接口,他里面有say这个方法。public interface people(){ public say();}但是接口没有方法体。只能通过一个具体的类去实现其中的方法体


extends与implements的不同


extends是继承父类,只要那个类不是声明为final或者那个类定义为abstract的就能继承,也可以调用父类初始化 this.parent()。而且会覆盖父类定义的变量或者函数。这样的好处是:架构师定义好接口,让工程师实现就可以了。整个项目开发效率和开发成本大大降低。

JAVA中不支持多重继承,但是可以用接口来实现,这样就要用到implements,继承只能继承一个类,但implements可以实现多个接口,用逗号分开就行了。实现父类,子类不可以覆盖父类的方法或者变量。即使子类定义与父类相同的变量或者函数,也会被父类取代掉。
第一步—创建一个接口–父类

package Demo;

public interface Animal {
	double ca(double a);
}

第二步创建类子类

package Demo;

public class Dt implements Animal {
	@Override
	public double ca(double a) {
		
		return a*a;
	}
}

第三步创建类–子类

package Demo;

public class Tr implements Animal {
	@Override
	public double ca(double a) {
		
		return Math.PI*a*a;
	}
}

第四步创建测试类

package Demo;

public class Test {

	public static void main(String[] args) {
		Dt a=new Dt();
		Tr b=new Tr();
		System.out.println(a.ca(2));
		System.out.println(b.ca(3));
	}

}

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页