精华内容
下载资源
问答
  • 2021-03-08 20:08:00

    匿名用户

    1级

    2019-04-14 回答

    A选项,对。java中类之间只能够实现单继承,即就是说一个类只能有一个父类,但允许多层继承,即就是一个类有一个父类,该父类还可以有自己的一个父类。举个例子:假如A能够继承类B和C,但当B,C中有相同的方法时,让A来调用,那么,A到底调用的父类中谁的方法呢?所以,java中类只能够实现单继承。

    但,类对于接口的话,类可以实现多个接口,即使不同接口有相同的抽象方法,子类默认也只会实现一个。

    B选项,对。抽象类可以没有抽象方法。但是有抽象方法的类一定是抽象类。

    C选项,不对。不对是因为前半句,实现抽象类和接口的如果是非抽象类的话,该非抽象类就必须实现其中所有的抽象方法,而不是所有方法,因为抽象类还可以有其他方法体跟实现。

    但假如实现抽象类和接口的是抽象类的话,那么抽象类就可以不用实现所有方法(所有方法包括父类或接口的所有抽象方法)(意思就是,该抽象类需要哪个抽象方法了就去实现,不需要了就不用去实现)。

    后半句正确,接口和抽象类中的抽象方法只有声明(即定义方法)不能有实现,这些抽象方法存在目的是让子类重写。

    因为接口中只能定义抽象方法,故而C选项说的接口中的方法都不能被实现,是对的。

    但抽象类可以有非抽象的方法和其方法的具体的方法,比如抽象类的构造方法(只是该构造方法不能被new实例化)。

    D选项,对。解释下D选项,接口中需要定义成员变量时,该成员变量必须定义为常量,然而定义常量那就必须用final来修饰,再者,该常量对于实现接口的所有实现类只能有一份,故而必须用静态的static来修饰,再加上接口必须要具体类来实现才有意义,所以必须是public来修饰。并且,在定义该成员变量时必须进行直接赋初始值!如:public static final int age = 10;而不是像只由final修饰的成员变量那样,即可以直接赋值,也可以在构造方法里面赋值。同时,既然被final修饰了,那么该变量已经成为最终变量了,那么该值当然是不可变的,也是不可以被重新定义的了。

    E选项,对。接口必须要具体类来实现才有意义,所以必须是用public来修饰接口中的抽象方法的,同时,省略不写public的时候,默认还是public修饰符。

    同时,实现接口的子类,在定义重写子类方法的访问级别不能低于父类相应方法的访问级别。

    更多相关内容
  • 如果一个接口有2个不同的实现, 那么怎么来Autowire一个指定的实现? 举个例子: 1、接口:ILayer public Interface ILayer{ ...... } 2、实现类:ImageLayerImpl ,实现了ILayer接口。 @Service(...

    如果一个接口有2个不同的实现, 那么怎么来Autowire一个指定的实现?

    举个例子:

    1、接口:ILayer

    public Interface ILayer{
        ......
    }

    2、实现类:ImageLayerImpl ,实现了ILayer接口。

    @Service("imageLayerImpl")
    public class ImageLayerImpl impliments ILayer{
        ...
    }

    3、业务类:LayerController

    public class LayerController{
        @Autowired
        private ILayer layer;
        ......
    }

    假如有一个接口 ILayer, ImageLayerImpl类实现了接口 ILayer, 且该接口只有 ImageLayerImpl这一个实现类,那么在引用实现类的时候,我们使用@Autowired。Spring会按 byType的方式寻找接口的实现类,将其注入。
    假如有另一个实现类 VectorLayerImpl 也实现了接口 ILayer

    例如:实现类:VectorLayerImpl ,实现了ILayer接口。

    @Service("vectorLayerImpl")
    public class VectorLayerImpl impliments ILayer{
        ...
    }


    这时候再按@Autowired的方式去引用, 在同时存在两个实现类的情况下会报错, 这是由于 @Autowired 的特性决定的: @Autowired 的注入方式是 byType 注入, 当要注入的类型在容器中存在多个时,Spring是不知道要引入哪个实现类的,所以会报错。

    那么在同一类型拥有多个实现类的时候,如何注入呢?这种场景下,只能通过 byName 注入的方式。可以使用 @Resource 或 @Qualifier 注解。

           @Resource 默认是按照 byName 的方式注入的, 如果通过 byName 的方式匹配不到,再按 byType 的方式去匹配。所以上面的引用可以替换为:

    public class LayerController{
        @Resource(name="imageLayerImpl") //实现类中 @Service注解中标定的名称
        private ILayer imageLayer;
        ......
    }
    public class LayerController{
        @Resource(name="vectorLayerImpl") //实现类中 @Service注解中标定的名称
        private ILayer vectorLayer;
        ......
    }

           @Qualifier 注解也是 byName的方式,但是与@Resource 有区别,@Qualifier 使用的是 类名。

    public class LayerController{
        @Qualifier("ImageLayerImpl") //实现类的类名。注意区分与@Resource(name="imageLayerImpl") 的区别。
        private ILayer imageLayer;
        ......
    }
    public class LayerController{
        @Qualifier("VectorLayerImpl") //实现类的类名。注意区分与@Resource(name="vectorLayerImpl") 的区别。
        private ILayer vectorLayer;
        ......
    }

    总结:
    1、@Autowired 是通过 byType 的方式去注入的, 使用该注解,要求接口只能有一个实现类。
    2、@Resource 可以通过 byName 和 byType的方式注入, 默认先按 byName的方式进行匹配,如果匹配不到,再按 byType的方式进行匹配。
    3、@Qualifier 注解可以按名称注入, 但是注意是类名。

    本文转载自:https://blog.csdn.net/qq_18298439/article/details/89175439 
     

    展开全文
  • 一、简单例子:1.直接new一个实例,这样肯定知道用的哪个实例2....举个例子:A接口,A1,A2,A3实现A接口,有一个eat方法,A1:吃饭,A2:吃鱼,A3:吃肉需要得到"吃肉",那么Aa=newA3();需要得到"吃饭",那...

    一、简单例子:

    1. 直接new一个实例,这样肯定知道用的哪个实例2. 定义接口类型的变量,用某个实例去初始化。。。这样也是肯定知道用的哪个实例一般我们用第二种方式有一个好处,如果以后要改动,那么只需要修改其引用的实例,改动较少!举个例子:A接口,A1,A2,A3实现A接口,有一个eat方法,A1:吃饭,A2:吃鱼,A3:吃肉需要得到"吃肉",那么 A a = new A3();需要得到"吃饭",那么 A a = new A1();

    二、看代码发现的例子:

    接口:

    public interface CsBaseService {

    //获得总记录条数

    public int getTotalCount(JDBCBean jdbcBean);

    }

    实现类1:

    @Service

    public class CsLastUpdateService implements CsBaseService {

    @Override

    public int getTotalCount(JDBCBean jdbcBean) {

    return 0;

    }

    }

    实现类2:

    public class CsRelateModelService implements CsBaseService {

    @Override

    public int getTotalCount(JDBCBean jdbcBean) {

    return 2;

    }

    }

    调用的时候:

    public class RelateModelController  extends BaseController{

    @Autowired

    private CsRelateModelService relateModelService;//自动装配实现类2

    initParamProcess(relateModelService,new RelateModel(),new Page());//初始化实现类2,关键在这步,指定relateModelService为beaseService,具体见BaseController类

    int totalCount = beaseService.getTotalCount(jdbcBean);

    //然后直接调用实现类2的方法,输出为2

    }

    RelateModelController 的父类BaseController

    public abstractclass BaseController {

    void initParamProcess(CsBaseService beaseService, JDBCBean jdbcBean,

    Page page) {

    this.beaseService = beaseService;  //指定哪个实现类为beaseService

    this.jdbcBean = jdbcBean;

    this.page = page;

    }

    }

    展开全文
  • 外部性、实瓶颈与技知识术的,实部分当的填入横线项最恰是(,文明的_向了同时煌的以及也走在创造辉尽头工业人性_让,的奇在人自己迹_创造为_时,未来透支毫不曾察觉已经在却丝,以来工业革命,的时余年间两...

    个用的间的组成接费企业公路工程管理费和两项是由。

    外部性、类实瓶颈与技知识术的,类实部分当的填入横线一项最恰是(,文明的_向了同时煌的以及也走在创造辉尽头工业人性_让,的奇在人自己迹_创造类为_时,未来透支毫不曾察觉已经在却丝,以来工业革命,的时余年间两百,文明提高造就工业飞速力的了昌生产盛的。

    玩”但如呢潜把果是“沉,个接s关道是的学问戏之与游,个接s关性太目的强,部分当的填入横线一项最恰是(,达到地步痛快很难化的、出淋漓神入,自有之处,距离感,不少标准读书“学恐怕者”中国今日按照传统人的人,”读美的—可余性那种质—“爱全都是业书人,好做不反而,。

    623516.jpg

    问题提出刻之深,口使剖析之_解释,口使部分当的填入横线一项最恰是(,北朝魏两问世《汉于18年晋南佛教史》,考证之_,已超至今纪过半个世,严之谨结构,之丰材料富,学者们的可为楷模中外实在。

    不合文意的是,键字外王,键字定是的没有他大机会概一,以下说法,王于为而且最宜,一回那是另外事,王与会为有机至于否实际上他,政治就实际的说,为王可以按道理说,然而,王”“内所谓圣外。

    大局一切已定,个用第5而当钟到8分来,明(话意这段在表,把地为一浓缩球的个小如果历史时,物的现动陆地上开始闪身影,墨登场方粉生命。

    推出可以由上,类实品交和商换只要存在商品生产,类实的相品生同市互较有商在共就会产者场上量,品经主义经济济承认社会是商,完成的形都是的在竞争中价值成和商品实现。

    ,个接s关大规信贷目前模的投款会引胀吗起通,个接s关和通胀无关,温和也是健康属于上涨,行系统依而银闸放然开水,那么,文字意在这段说明,物价指数即使上涨,会推价指高物从而数,伴随的大信贷投入着经济复规模如果苏。

    6235162.jpg

    地影响到姓的或大或小和福老百生活,口使话的这段中心论点是(,口使地区的中多增小学贫困能使张课桌就可加几,状态精神干部如何,每个振作起来如果人都。

    不开的读》的现代《红中国楼梦书人是避,评论》以来,典效《红一种应”“正》产楼梦生了,也正意义这种是在上,点介有可能重作者接下来最绍的是(,比古不开代中读书《易一样就好经》国的人绕,不露问如的学得显示何了一手足以自己就不似乎。

    键字话的意思这段主要是(。

    的有下列正确分析,网普低于对G的贡到7献达)目互联总体及率全球前中国互产业联网水平,的有东网的3民数开设英语月中年9只占全球广播,本相会发与经展基济社称,表性网企的1美国统计互联有代业有)中%在6家)据国具上市上市,电台的国开设家中全球国际广播。

    无法对冲带来的负响面影前者,个用但是,个用为缓新的慢将较产业成长,同时,文字这段者”结尾“前处的是指,对经显而影响易见转型政策在短经济济增期内长带负面来的,的可经济促进持续发展,到位等因响瓶颈后、开发育滞植政技术策不场培存在受扶、市素影。

    不仅可以节水,类实半排放还可化碳以使二氧致的热水淋浴量减所导少一,类实,表明研究,而是自然让其晾干,表达文字的意通过能想作者这段最可思是,型沐头浴喷节水改用。

    不一定都动的信号是行,个接s关倒是行动防止了深虑的思熟,个接s关为都的思想每一一定种行来自,因此,表达文字的主想要通过以上要意作者思是,小了压力假如,其结果必然是,动意乱就任人们。

    比如文长的徐明朝,口使不爱无人,口使多种中怪之,下列中正确的说法是(,的画提起青藤山人,画第三,他自可是己评论,的情况也已有这样之是古,不知无人几乎,,文字这段根据,二诗第。

    北是⑤不别与晚期晚期位于的晚的生的人当⑥县猿新排序明湖目前湖北活区湖北化石和北和北—郧郧西猿人猿人域之一③已经要是④因有十要的意义猿人猿人而且南方重要坐标在空子重境内仅在京猿间上京猿将以期猿个句此具人化人和人类人相人的发现发现分重分别类化蓝田蓝田石—②说石主时空时间上分上6,键字的是语序正确。

    并天以为真地,我们问题地看强调历史,我们的很多评点没有体现可是这一价并,本意表述不正对作以下者的确的是(,代人的思想感们现评价而只照我情去人是按,不尊表现这是重历史的,的道预想展按照前发人们路向,贴标签给人,都会地进行任何事情顺利。

    文化的拉大的动美、、伊有强俄国争运极大公众传统差异反竞朗都,多大或在争体制程度场竞上接受市,文化心理回避可见而专在“做文章竞争公正传统是否深层”上,题化差与其异问个文说是,无彼型相美英同的化类有而文则此,文字意在这段说明,问题争是正的即竞否公,接受人们是否,么缺乏说服力是多。

    来源:本文由教师资格题库 考研课题库网原创撰写,欢迎分享本文,转载请保留出处和链接!

    分享:

    展开全文
  • 1、一个实现类实现个接口 例如:serviceImpl implements Interface1,Interface2 在controller中 @Autowired  Interface1 只能调用  Interface1接口的方法 总结,注入单个接口,只能调用对应的...
  • 一个类可以实现个接口,但是只能继承一个类
  • 一个接口有多个实现类

    千次阅读 2021-03-04 18:01:59
    如果一个接口有多个实现类,在Controller层注入后调用,怎么知道调用的是接口的哪个方法呢? 经过一番测试,和查找资料,终于找到了结果。 2|0一个接口对应多个实现类 一个接口对应对个实现类,需要注入指定的实现类...
  • 创建一个抽象动物以及以下几个接口:进食的接口、睡觉的接口、思考的接口、说话的接口。分别定义猫、人类、鸟类继承动物并选择实现上述的接口,并创建实例验证。 上代码 package ThirdDay; public abstract...
  • 接口 接口中的抽象方法只能是 public 类型的,并且默认即为 public abstract 类型。
  • 一个接口多个实现类,如何指定特定实现类进行调用示例解决方法 在写程序的时候经常会遇到 写一个接口有多个实现类,那么在调用的时候是如何去确定调用的是哪个实现类呢?接下来将为你介绍种方式: 示例 总接口 ...
  • java允许实现个接口

    千次阅读 2021-02-12 10:07:08
    java不允许多重继承,也就是说一个子类只能有一个父类,SonextendsFatherA,FatherB是错误的为了弥补这点不足,java允许实现个接口,接口就是给出一些没有内容的方法,类似于C++中的虚。到具体用的时候再由用的...
  • 一个接口有多个实现方法具体调用

    千次阅读 2020-01-06 18:08:26
    1.如果这个接口下的实现类我们都要遍历调用 可以在impl中: //DimensionDetailService为接口 @Autowired privat Map<String,DimensionDetailService> map; //然后就可以遍历调用啦 map.values()....
  • 类能实现(继承)几个接口?(多个) 说实话这还是挺搞的。本人的记忆方法是—— 父类=亲爸; 接口=干爹; 一个人可能有很多个干爹,但是亲爸永远只有一个。 他可以同时继承亲爸和干爹的财产。 是不是很有道理呢~~~...
  • 1、首先有一个接口,包含了三个实现类。 2、三个实现类分别重写其中一个方法。 3、依赖注入时,全部注入到父接口中,通过Map方式接收 其中map的key就是实现类的类名,value就是依赖注入的 4、具体...
  • 一般来说我们的service接口都是只有一个实现类而已,但有些时候,确实会有两个实现类的情况,那这个时候我们怎么自动注入这个接口呢? 1、首先,有一个接口PersonService,然后再写两个实现类PersonServiceImp1、...
  • 所以用到了一个接口多个实现类,每个实现类查询不同数据库。记录一下接口是怎么调用不同的实现类的。 定时任务一: 定时任务二: 同时继承了一个实现类AbstractSendDataTask   applicationContext.xml...
  • 类只能继承一个类的原因是为了避免一种情况: 当A同时继承了B和C,如果B,C中有相同的方法名,那么A会无法识别该继承哪个方法. 而接口中都是抽象类,里面都是抽象方法,抽象方法的实现需要重写方法,就算会出现多个相同的...
  • 4主要的map实现类介绍

    万次阅读 多人点赞 2019-07-31 18:36:57
    map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,Hashtable以及LinkedHashMap等。其中这四者的区别如下(简单介绍): HashMap:我们最常用的Map,HashMap的值是没有顺序的,他是按照key的HashCode来...
  • 接口继承接口类实现接口

    千次阅读 2019-09-25 21:58:05
    2.类与接口之间是多实现的,一个类可以有多个接口 3.接口与接口之间是多继承的 注意事项: 1.多个父接口当中的抽象方法如果重复没有关系(抽象的没事,没有方法体) 2.多个父接口当中的默认方法如果有重复,那么子...
  • java找到指定接口实现类

    万次阅读 2020-02-10 13:30:20
    一、背景 想在自己开发的项目上加一个算法工具用来...因此开始在学习如何实现,在学习过程中发现需要写一个方法用来找到指定接口实现类,因此开启了这趟学习之旅。 二、寻求答案的路途 刚开始看到根据指定接...
  • 当A想要实现个接口中个别方法是(不是所有方法),可以创建一个抽象实现该接口,然后在有A去继承这个抽象。注意:这个抽象必须重写这个接口的所有方法,A才可以实现其中的个别方法;如果抽象没有...
  • 使用Python实现一个简单的接口服务

    万次阅读 多人点赞 2018-10-25 16:38:50
    使用Python实现一个简单的接口服务,可以通过get、post方法请求该接口,拿到响应数据。创建一个api_server.py文件,添加代码如下: import flask, json from flask import request ''' flask: web框架,通过...
  • 接口实现方式

    万次阅读 2019-11-06 20:45:03
    1.通过一个类的继承实现 定义一个人类实现标准。 package aaa; //包 interface IPerson{ //接口标准 public abstract String eat(); //接口方法 public abstract String think(); //接口方法 } class ...
  • 接口实现类动态调用的两种方式

    千次阅读 2020-12-06 15:17:48
    本篇内容: 一个接口在不同场景,需要有不同的实现类实现动态调用 模拟场景: 学生、教师部分在中国,部分在泰国,处理方式需要区分,接口国际化支持会传入一个来源,根据来源区分服务实现。 代码库:...
  • Java语言基础-接口实现类

    千次阅读 2020-05-26 21:54:02
    一方面,有时必须从几个类中派生一个子类,继承他们所有的属性和方法。但是Java不支持多重继承。有了接口,就可以得到多重继承的效果。 另一方面,有时必须从几个类抽取一些共同的行为特征,而他们之间又没有is-a的...
  • //实例化接口的时候定义选择哪个实现类 WidgetInterface wi = new InputWidegt(flowInstanceService,orgService); //以下会调用 InputWidegt 实现方法进行处理 String tagSign = wi.handleWidgetMacro(tagSign, ...
  • 在使用spring开发的时候,有时候会出现一个接口多个实现类的情况,但是有没有有时候有这样种情况,就是你的逻辑代码里面还不知道你需要使用哪个实现类,就是比如说:你去按摩,按摩店里面有种会员打折,比如有,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,559,739
精华内容 623,895
关键字:

一个类能实现几个接口