关于java的接口与类的继承问题
由于还在自学,书上没有出现完整的实例,所以我自己编写了一个通过继承接口与类准备实现数学运算的常规的加减乘除法,但是在继承接口时出现了错误,无法正确的实现继承,该如何改善
//定义草稿数学的有关double运算的接口
interface caogaoMathDouble {
public static double add(double a, double b) {
return a + b;
}
public static double add(double a, int b) {
return a + b;
}
public static double add(int a, double b) {
return a + b;
}
public static double remove(double a, double b) {
return a - b;
}
public static double remove(int a, double b) {
return a - b;
}
public static double remove(double a, int b) {
return a - b;
}
public static double abs(double a,double b) {
return Math.abs((a+b)/2);
}
}
// 定义草稿数学的有关乘法运算的接口
interface caogaoMathMult {
public static int mult(int a, int b) {
return a * b;
}
public static double mult(double a, int b) {
return a * b;
}
public static double mult(int a, double b) {
return a * b;
}
public static double mult(double a, double b) {
return a * b;
}
}
//定义草稿数学的有关除法运算的接口
interface caogaoMathDiv {
public static int div(int a, int b) {
return a / b;
}
public static double div(double a, int b) {
return a / b;
}
public static double div(int a, double b) {
return a / b;
}
public static double div(double a, double b) {
return a / b;
}
}
// 定义草稿数学总和接口,继承草稿数学的有关乘法运算、除法运算、以及double加减法运算的接口
interface caogaoMathZonghe extends caogaoMathDiv, caogaoMathDouble, caogaoMathMult {
}
// 定义草稿数学的抽象类,只包含int加减法运算
public abstract class caogaoMath{
private int a;
private int b;
public caogaoMath(int a, int b) {
// TODO 自动生成的构造函数存根
this.a = a;
this.b = b;
}
public int add() {
return a + b;
}
public int remove() {
return a - b;
}
public int abs() {
return Math.abs((a+b)/2);
}
}
//定义草稿类,继承抽象类草稿数学并实现草稿数学的总和接口
class caogao extends caogaoMath implements caogaoMathDiv {
public caogao(int a, int b) {
super(a, b);
// TODO 自动生成的构造函数存根
}
public static void main(String[] args) {
caogao caogao=new caogao(2, 5);
System.out.println(caogao.abs());
System.out.println(caogao.remove());
System.out.println(caogao.add());
//在草稿类中正确继承了草稿数学中的类,但是没有正确实现草稿数学总和接口中的各个方法
}
}
/*
//定义草稿类,继承抽象类草稿数学并实现草稿数学的有关除法运算的接口
class caogao extends caogaoMath implements caogaoMathDiv {
public caogao(int a, int b) {
super(a, b);
// TODO 自动生成的构造函数存根
}
public static void main(String[] args) {
caogao caogao=new caogao(2, 5);
System.out.println(caogao.abs());
System.out.println(caogao.remove());
System.out.println(caogao.add());
//在草稿类中正确继承了草稿数学中的类,但是没有正确实现草稿数学的有关除法运算接口中的方法
//也就是说并不是在第71行时接口继承接口时错误的问题
}
}
*/
...全文
相关推荐
详解java为什么不允许类多重继承却允许接口多重继承
主要介绍了java为什么不允许类多重继承却允许接口多重继承,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
java基础学习(继承与接口的区别及产生原因)
java基础学习(继承与接口的区别及产生原因)~~~
java实现多线程的两种方式继承Thread类和实现Runnable接口的方法
下面小编就为大家带来一篇java实现多线程的两种方式继承Thread类和实现Runnable接口的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
java继承与接口上机实践4
java2实用教程第三版的上机实践4继承与接口
Java--类的继承
浅出学习&理解Java 浅出学习&理解Java


