黑马程序员技术交流社区

标题: Java中如何模拟多重继承? [打印本页]

作者: 耿渊博    时间: 2014-3-20 20:27
标题: Java中如何模拟多重继承?
本帖最后由 耿渊博 于 2014-3-21 21:55 编辑

在Java中虽然不支持多重继承,但是Java提供的接口可以支持多重继承,那么以下代码能否模拟多重继承?
  1. package com.itheima;
  2. //定义IPeople接口
  3. interface IPeople{
  4.         String getName();
  5.         void setName(String name);
  6.         String getSex();
  7.         void setSex(String sex);
  8. }
  9. //定义ITeacher
  10. interface ITeacher extends IPeople{
  11.         String teach();
  12. }
  13. //定义IStudent
  14. interface IStudent extends IPeople{
  15.         String study();
  16. }
  17. public class Person implements IPeople,ITeacher,IStudent{
  18.         String name="";
  19.         String sex="";
  20.         public String getName(){
  21.                 return name;
  22.         }
  23.         public void setName(String name){
  24.                 this.name = name;
  25.         }
  26.         public String getSex(){
  27.                 return sex;
  28.         }
  29.         public void setSex(String sex){
  30.                 this.sex = sex;
  31.         }
  32.         public String teach(){
  33.                 return "姓名: "+name+""+sex+"教师";
  34.         }
  35.         public String study(){
  36.                 return "姓名: "+name+""+sex+"学生";
  37.         }
  38.         public static void main(String[] args){
  39.                 Person p = new Person();
  40.                 p.setName("张三 ");
  41.                 p.setSex("男 ");
  42.                 System.out.println(p.teach());
  43.                 p.setName("李四 ");
  44.                 p.setSex("女 ");
  45.                 System.out.println(p.study());
  46.                 }
  47. }
复制代码




作者: 青木郎    时间: 2014-3-20 20:33
可以 ,没有问题,实现了接口,其实多次实现接口就是为了弥补只能单一继承的缺点
作者: papercup    时间: 2014-3-20 20:36
java不能实现多个类的继承,但是可以实现多个接口,所以使用接口可以解决java不支持多重继承的问题。这也是Java中接口的重要用途之一。多写多用就能灵活掌握!加油!!!
作者: 郭黎明    时间: 2014-3-20 20:38
java不支持多继承,但可以实现多个接口
作者: love~陌    时间: 2014-3-21 19:14
Java中只支持单继承,但是其可允许多层继承,比如A继承了B,C又继承了A等等,java的多实现弥补 了单继承的缺陷
作者: syusikoku    时间: 2014-3-21 20:52
其实接口就是多重继承。使用接口方便一些




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2