当前位置:系统粉 > 电脑问答 > 其他问答 > JAVA中如何实现多重继承???

JAVA中如何实现多重继承???

提问者:jackie71365  |  浏览 次  |  提问时间:2017-01-13  |  回答数量:9

JAVA中如何实现多重继承??? 如题!!

已有9条答案
一世无存小誓言

一世无存小誓言

回答数:55  |  被采纳数:102

2017-01-13 18:56:16
在函数中定义一个对象
或者
通过参数给函数传进去一个对象

使用这些对象就可以调用父类的方法了
实现继承了父类的效果!
赞 5
张红根

张红根

回答数:179  |  被采纳数:55

2017-01-13 18:32:57
记得可以使用利用接口来实现多重继承!
赞 17
刘小禄吧务

刘小禄吧务

回答数:90  |  被采纳数:127

2017-01-13 20:40:17
实现接口多继承
参考例子 如下:求三角形,正方形的面积和周长

package com.neo.project;

import java.text.DecimalFormat;

interface CalcMethods {
void calcArea();
void calcPerimeter();
}

class Triangle implements CalcMethods {
private DecimalFormat DFormat = new DecimalFormat("###,###.##");
private double side_1, side_2, side_3;

public Triangle(double side_1, double side_2, double side_3) {
this.side_1 = side_1;
this.side_2 = side_2;
this.side_3 = side_3;
}

public boolean isTriangle() {
if((side_1 + side_2) > side_3 && (side_1 + side_3) > side_2 && (side_2+side_3) > side_1) {
System.out.println("Triangle:");
System.out.println("side_1 = " +side_1+ ", side_2 = " +side_2+ ", side_3 = " +side_3);
return true;
}
System.out.println("It is not triangle.");
return false;
}

public void calcArea() {
double temp = (side_1 + side_2 + side_3) / 2;
double area = Math.sqrt(temp * (temp-side_1) * (temp-side_1) * (temp-side_3));
System.out.println("Triangle area = " +DFormat.format(area));
}

public void calcPerimeter() {
double perimeter = side_1 + side_2 + side_3;
System.out.println("Triangle perimeter = " +DFormat.format(perimeter));
}
}

class Square implements CalcMethods {
private DecimalFormat DFormat = new DecimalFormat("###,###.#");
private double side;

public Square(double side) {
this.side = side;
}

public void calcArea() {
System.out.println("\nSquare:");
System.out.println("side = " +side);
double area = side * side;
System.out.println("Square area = " +DFormat.format(area));
}

public void calcPerimeter(){
double perimeter = 4 * side;
System.out.println("Square perimeter = " +DFormat.format(perimeter));
}
}

public class Example {
public static void main(String[] args){
double side_1 = 3.0;
double side_2 = 4.0;
double side_3 = 5.0;
double side = 3.0;
if (side_1 <= 0 || side_2 <= 0 || side_3 <= 0) {
System.out.println("Input Triangle positive.");
return;
}
if (side <= 0) {
System.out.println("Input Square positive.");
return;
}

Triangle triangle = new Triangle(side_1, side_2, side_3);
Square square = new Square(side);
if(triangle.isTriangle()){
triangle.calcArea();
triangle.calcPerimeter();
}

square.calcArea();
square.calcPerimeter();
}
}
赞 9
孤独旅行哟

孤独旅行哟

回答数:96  |  被采纳数:90

2017-01-14 01:26:29
面积和周长的例子是通过接口实现多重继承一个很经典的例子
赞 9
祭草

祭草

回答数:30  |  被采纳数:146

2017-01-13 21:58:26


所以我才自己写了这个简单的例子,希望能通过此例 让LZ 能明白!
赞 3
wwdcapple6

wwdcapple6

回答数:129  |  被采纳数:31

2017-01-14 06:42:47
恩,是的,例子虽然简单,但是很清晰,能让不懂的人明白多重继承的含义
赞 12
引擎的声音

引擎的声音

回答数:208  |  被采纳数:7

2017-01-14 03:09:42
呵呵接口谈不上是继承可以说实现了XX接口

一个类继承一个抽象类 然后实现多个接口 可以这样写

public class T0109 extends AbstractClass implements Interface1, Interface2{

}

interface Interface1{}

interface Interface2{}

abstract class AbstractClass{}
赞 20
harbour599

harbour599

回答数:163  |  被采纳数:93

2017-01-13 23:53:29

你这样的写法是最完美的,直观的
之前我有想过这样的写,
但是 考虑到 新手 不太好理解这么多的概念性问题!
因此我才写成另外的样子。
赞 16
战军66

战军66

回答数:26  |  被采纳数:141

2017-01-14 03:30:05
呵呵你的例子写的很不错也很容易理解
不过没有实现多个接口
只是一个类实现一个接口
所以我才重新写了一个
赞 2
解决方法
  • 其实她才是真正的世界首富,欧莱雅继承人去世

    其实她才是真正的世界首富,欧莱雅继承人去世

    提起天下首富,大家首先想到的必定是微软创始人、美国企业家比尔盖茨,他曾在1995年至2007年持续13年排名《福布斯》环球富豪榜第一名。但假如把范围缩小到女首富,很多人可能无法敏捷...

  • Win8如何实现无盘刷新和重置系统

    Win8如何实现无盘刷新和重置系统

    不需要安装介质能直接从系统环境和RE环境进行系统刷新和重置。Windows和Office保留激活状态,其中新刷新能保留文档和应用,重置则不能。步骤如下:1、使用快捷键WIN...

  • 继续挖掘人才!谷歌在多伦多再建AI实验室

    继续挖掘人才!谷歌在多伦多再建AI实验室

    据外媒报道,美国科技巨头谷歌公司希望进一步的发展人工智能技术,这些公司都想要从加拿大获得更多的人才来推动人工智能的发展。就在本周四的时候,谷歌宣布他们在加拿大多伦多开设了一...

  • 重拳出击:多款微软认证混合现实MR设备大曝光!

    重拳出击:多款微软认证混合现实MR设备大曝光!

    微软正在以Windows 10为中心,搭建混合现实的主要平台。微软已经说服几个传统的硬件合作伙伴设计了专门的MR头戴设备,以便用户拥有一致的用户界面和标准化输入。同时,对于开发者来...

版权信息

Copyright @ 2011 系统粉 版权声明 最新发布内容 网站导航