精华内容
下载资源
问答
  • 而抽象在代码实现方面发挥作用,可以实现代码的重用,例如,模板方法设计模式是抽象一个典型应用,假设某个项目的所有Servlet都要用相同的方式进行权限判断、记录访问日志和处理异常,那么就可以定义一个...

    接口更多的是在系统架构设计方法发挥作用,主要用于定义模块之间的通信契约。而抽象类在代码实现方面发挥作用,可以实现代码的重用,例如,模板方法设计模式是抽象类的一个典型应用,假设某个项目的所有Servlet类都要用相同的方式进行权限判断、记录访问日志和处理异常,那么就可以定义一个抽象的基类,让所有的Servlet都继承这个抽象基类,在抽象基类的service方法中完成权限判断、记录访问日志和处理异常的代码,在各个子类中只是完成各自的业务逻辑代码,伪代码如下:

    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    public abstract class BaseServlet extends HttpServlet {
        public final void service(HttpServletRequest request, HttpServletResponse response)
                throws IOException, ServletException {
            // 记录访问日志
            // 进行权限判断
        }

        protected abstract void doService(HttpServletRequest request, HttpServletResponse response)
                throws IOException, ServletException;
            // 注意访问权限定义成protected,显得既专业,又严谨,因为它是专门给子类用的
    }

    class MyServlet1 extends BaseServlet {
        protected void doService(HttpServletRequest request, HttpServletResponse response)
                throws IOException, ServletException {
            // 本Servlet只处理的具体业务逻辑代码
        }
    }

    父类方法中间的某段代码不确定,留给子类干,就用模板方法设计模式。

    备注:这道题的思路是先从总体解释抽象类和接口的基本概念,然后再比较两者的语法细节,最后再说两者的应用区别。比较两者语法细节区别的条理是:先从一个类中的构造方法、普通成员变量和方法(包括抽象方法),静态变量和方法,继承性等6个方面逐一去比较回答,接着从第三者继承的角度的回答,特别是最后用了一个典型的例子来展现自己深厚的技术功底。

    展开全文
  • 接口 接口中的抽象方法只能是 public 类型的,并且默认即为 public abstract 类型。

    接口
    接口中的抽象方法只能是 public 类型的,并且默认即为 public abstract 类型。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    接口可以继承多个接口
    接口B
    在这里插入图片描述
    不能改变接口中定义的常量值
    在这里插入图片描述

    接口H
    在这里插入图片描述
    接口A 继承 接口B和接口H;接口不能实现接口
    在这里插入图片描述
    类可以同时实现多个接口
    类C
    可以实现多个接口
    在这里插入图片描述
    抽象类D
    抽象类中抽象方法的访问权限可以是public、protectedl;接口只能是public
    抽象类中可以有非抽象方法;接口中的方法都是抽象方法
    抽象类中可以定义普通成员变量;接口中不能定义普通成员变量
    抽象类和接口都能定义静态成员变量,抽象类访问权限可以是任意的;但是接口只能是 public static final即常量
    抽象类中可以有构造方法;接口中不能有构造方法
    一个类只能实现一个抽象类;但一个类可以实现多个接口,接口可以继承多个接口

    在这里插入图片描述
    类F
    一个类只能继承一个类,java继承多个类时编译时就不通过
    在这里插入图片描述

    为什么java支持 一个类实现多个接口;但是只能继承一个类
    从上诉例子中可以看出,如果子类F可以同时继承抽象类D和类C,如果类D和类C中存在相同(同名同参)的方法,即非抽象方法(都有自己的方法体);那么子类F就不知道选哪一个父类的方法进行重写了。

    展开全文
  • 一个类可以只能继承一个抽象,为什么接口可以多继承接口。谢谢大神帮我回答
  • java 个接口可以继承多个接口

    万次阅读 2018-06-19 14:36:33
    Interface3 Extends Interface0, Interface1, interface……不允许多重继承的主要原因是,如果A同时继承B和C,而B和C同时有一个D方法,A如何决定该继承一个呢?但接口不存在这样的问题,接口全都是抽象方法继承....

    接口是常量值和方法定义的集合。接口是一种特殊的抽象类。

    java类是单继承的。classB Extends classA

    java接口可以多继承。Interface3 Extends Interface0, Interface1, interface……

    不允许类多重继承的主要原因是,如果A同时继承B和C,而B和C同时有一个D方法,A如何决定该继承那一个呢?

    但接口不存在这样的问题,接口全都是抽象方法继承谁都无所谓,所以接口可以继承多个接口。

    注意:

    1)一个类如果实现了一个接口,则要实现该接口的所有方法。

    2)方法的名字、返回类型、参数必须与接口中完全一致。如果方法的返回类型不是void,则方法体必须至少有一条return语句。

    3)因为接口的方法默认是public类型的,所以在实现的时候一定要用public来修饰(否则默认为protected类型,缩小了方法的使用范围)。



    以上内容转自:http://blog.csdn.net/tiantiandjava/article/details/46514783

    end

    -----------------------------------------------------------------------------------------------------

    注:作者 望穿秋水见伊人

    展开全文
  • 1、接口可以继承接口,抽象可以继承接口,但可以实现接口。 2、抽象类可以继承实体。...4、一个接口可以继承多个接口. interface C extends A, B {}是可以的. 一个类可以实现多个接口: class ...

    1、接口可以继承接口,抽象类不可以继承接口,但可以实现接口。

    2、抽象类可以继承实体类。抽象类可以实现(implements)接口,抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数。

    3.抽象类可以继承实体类,就是因为抽象类的可以继承性和有方法。

    4、一个接口可以继承多个接口. interface C extends A, B {}是可以的. 一个类可以实现多个接口: class D implements A,B,C{} 但是一个类只能继承一个类,不能继承多个类 class B extends A{} 在继承类的同时,也可以继承接口: class E extends D implements A,B,C{} 这也正是选择用接口而不是抽象类的原因。

    展开全文
  • 在java中 一个类中不能继承多个接口,但是可以通过一个接口继承多个接口来实现。具体代码如下public interface LanguageBeharvior { public void language(); }public interface SpeakBeharvior { public void ...
  • 继承会产生钻石问题(菱形继承) B 和 C 继承 A,且都重写了 A 中的同一个方法 ...接口中的方法是抽象的,一个类实现可以多个接口 假设这些接口中存在相同方法(方法名与参数相同),...
  • java接口可以继承多个接口

    千次阅读 2019-03-07 19:11:54
    接口是常量值和方法定义的集合。接口是一种特殊的抽象。...不允许多重继承的主要原因是,如果A同时继承B和C,而b和c同时有一个D方法,A如何决定该继承一个呢? 但接口不存在这样的问题,接口全都是抽象方法...
  • 一个类可以继承一个普通继承它的成员变量和方法;也可同时继承自 一个接口继承接口的方法并完成定义。有一个神奇的魔法:同一种对象,都是IAct对象,调用同一种方法Act() 。但是执行的情况却完全不一样。...
  • java 不支持多继承,但类可以实现多个接口,间接的实现多继承,也可以通过内部。 参考代码:MultiExtendsTest // 测试间接的实现多继承 public class MultiExtendsTest extends D implements A, B, C { @...
  • 一个类可以实现多个接口,但是只能继承一个类
  • java中接口是否可以继承多个接口

    千次阅读 2018-11-06 20:04:52
    接口是常量值和方法定义的集合。接口种特殊的抽象。 java是单继承的。classB Extends classA ...java接口可以多继承。Interface3 Extends Interface0, Interface1, interface…… 不...
  • Java中接口可以继承多个接口

    千次阅读 2017-11-09 10:40:13
    接口是常量值和方法定义...接口是公开的,里面不能有私有的方法或变量,而抽象可以有私有方法或私有变量的; 接口里定义的变量只能是公共的静态的常量,抽象中的变量是普通变量; 实现接口的一定要实现接
  • 一个类继承多个接口的简单例子

    千次阅读 2013-04-23 21:43:41
    随时随地阅读更技术实战干货,获取项目源码、学习资料,请关注源代码社区公众号(ydmsq666)、博主微信(guyun297890152)、QQ技术交流群(183198395)。 class 丈夫 implements 洗衣工,搬运工,提款机{ @...
  • Interface3 Extends Interface0, Interface1, interface……不允许多重继承的主要原因是,如果A同时继承B和C,而B和C同时有一个D方法,A如何决定该继承一个呢?但接口不存在这样的问题,接口全都是抽象方法继承...
  • 一个接口继承一个接口,和之间的继承方式比较相似。接口的继承使用extends关键字,子接口继承父接口的方法。 下面的Sports接口被Hockey和Football接口继承: // 文件名: Sports.java public interfa
  • 接口继承接口实现接口

    千次阅读 2019-09-25 21:58:05
    2.与接口之间是多实现的,一个类可以多个接口 3.接口与接口之间是多继承的 注意事项: 1.多个父接口当中的抽象方法如果重复没有关系(抽象的没事,没有方法体) 2.多个父接口当中的默认方法如果有重复,那么子...
  • //一个子类可以同时继承抽象和实现接口 //接口 interface A{ public static final String FLAG="天河学院"; public abstract void print(); public abstract String getInfo(); } //抽象 ...
  • 1、的单继承 这是父类代码: 这是子类代码: 调试代码及结果: ... 2、接口实现 ...总结:从上面的结论可以看出类可以继承类实现接口接口接口多继承类多实现接口效果...
  • 如果一个类可以继承多个类,那么这个所有成员变量名和方法名必须要不同(C++就是这样要求的).这是前提,我们必须确定这个才能用多重继承,如果在方法名或者成员变量名很多情况下,这是很复杂的事情.原因:要确定子类...
  • Objective C不能直接使用多重继承。cocoa中所有的都是NSObject的子类,多重继承在这里是用protocol委托代理来实现的。 一个类可以实现多个接口
  • 首先,的多继承有哪些缺点那: 第一,如果一个类继承多个父类,如果父类中的方法名如果相同,那么就会产生歧义。...对于一个类实现多个接口的情况和一个接口继承多个接口的情况,因为接口只有抽象方
  • 一个匿名内部一定是继承一个类或者实现一个接口,new了这个父类或接口名的内部还带内容,我就想问能不能还能不能继承其他或实现其他接口。 如果我表达不好,不好理解, 那问题简化就是 匿名内部能不能...
  • 可以实现多个接口么?Category是什么?重写一个类的方式用继承好还是分类好?为什么? 关于多继承: 首先 object-c不能够多继承,类似下面代码的这种方式是绝对通不过编译的.当然,你也可以把NSString前面的":...
  •  1 java 如果出现多继承、父类中都有相同的属性和name 值 子类如果使用父类的属性和name 值 无法确定是哪一个父类的是 属性和name值。  2 父类中如果相同的方法,并且子类并没有覆盖该方法。子类调用父类的时候 ...
  • 这里需要说明,当一个具体没有写构造函数时,系统会自动生成默认的无参构造器,意味着没有写构造函数的具体可以被抽象类继承。但是,一旦将具体的无参构造器设置访问修饰符为 private 时,抽象则不可以...
  • 在 IntelliJ IDEA 中这个查看一个类也就是当前的所有继承关系,包括实现的所有的接口继承, 这个继承,不仅仅是一级的继承关系,包括好几层的继承。父类的父类的父类。直到最后。 可以很清楚明了的了解一个...
  • 一个问题很容易想的到,如果一个类 多继承了两个,但是这两个中有相同的方法,那么我子类调用,无法确定应该调用哪个方法。但是接口设计成多继承却是可以避免上面的问题的。因为接口只有抽象方法,具体方法...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 881,303
精华内容 352,521
关键字:

一个类可以继承多个接口吗