java的抽象以及接口知识点

来源:互联网 发布:淘宝口令在线生成 编辑:程序博客网 时间:2024/06/03 20:24

抽象类和接口的区别:

抽象类:代表的是对根源的抽象,例如:男人/女人 的类都是  “人类”,所以子类只能继承一个抽象类,正如:男人和女人只能是“人类” 不能再是 “动物类”

接口:代表的是对动作的抽象,例如  吃东西、睡觉等等,所以接口可以被多继承,一个子类可以实现多个接口

1.抽象类要被子类继承,接口要被类实现。

2.接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量。




1.java的抽象类,抽象方法


为什么实例化pet没有意义:


   在现实中对有些类实例化对象没有意义,也就是代表这个类下面包含了多种情况,现实中这个类没有类对应的对象,是因为这个对象是个笼统的对象,是众多具体实际对象的集合,(这个时候我们使用这个类的主要内容就是使用多态,编写不同对象的不同的行为,因此这个主类在多态的过程中是不需要进行任何的修改的)这个时候我们就会将这个类添加“abstract”关键字,限制这个类进行实例化,这种类我们称作“抽象类”

2.抽象类与抽象方法关系:

   抽象方法没有方法体,必须放在抽象类中;同时在继承中,抽象方法必须在子类中进行实现,除非子类是抽象类。

3.抽象类中的普通方法和抽象方法在继承类中的使用:


从该图片中可以看出来,普通方法就是可以直接使用即可(继承给了子类),创建子类对象即可创建


      接口的知识点

3.如果一个抽象类中全部都是抽象方法,我们可以使用接口来代替这样的抽象类,因为接口比抽象类有很多的好处:1.可以被多继承    2.设计和实现完全分离    3.更自然的使用多态     4.更容易搭建程序框架    5.更容易更换实现。。。

4.接口的特点:接口一定不可以被实例化;一个类如果实现接口,则必须实现这个接口中的所有的抽象方法,除非这个类是抽象类;一个类可以实现多个接口;接口中的变量就是静态常量  (public  static  final)首先,接口是被各个子类实现的,但是不能通过实例化,建立对象来使用,因此接口中的常量必须是public,可以被其他类进行访问;其次 由于静态变量与静态方法不能实现父类引用指向子类对象的多态的功能,由此接口中的变量需要是静态变量(因为接口在多态中通常是代表父类,其定义的静态变量相当于是整个类中所有的子类都具有的属性,不需要子类进行重写)但是接口中的抽象方法不能是static,因为静态方法不能实现父类引用指向子类对象的多态的功能,不可以实现多态的功能,因此抽象方法不可以是静态的。  最后  由于接口是抽象的高级,接口主要是体现的是对开闭原则的一种体现,对修改关闭,对拓展开放

5.接口中没有构造函数,只有抽象方法和静态常量  

6.接口的继承与实现:

 因为类不可以多继承,所以我们发明了接口,但是为了区别接口和类,我们将类继承接口的形式叫做实现,这个时候接口也可以继承接口,也可以多继承(因为接口中方法没有方法体,不会出现“子类”不知道实现哪一个父类的方法--假设两个父类有同样的方法名、参数,只是方法体不同)

阅读全文
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 人工智能换脸刘亦菲浴室大尺 这个逼真好看 女生的什么地方尿尿 女生排尿的地方照片 女人撤尿的地方照片 中国幼儿18 ai明星换脸在线播放佟丽娅 佟丽娅ai12分钟视频 明星验证福利炝1 2专区 奔跑吧兄弟之狂草迪丽热巴 明星合照网站 人工智能ai让女神下海杨颖 ftm激战乾爹视频13分钟 明星al换脸视频在线播放 杨幂35十p验证拿茄子 ai换脸700部迅雷资源 明星换脸大合集迅雷资源 明星换脸视频系列网站 林允儿换脸 在线播放 明星换脸45部资源bt 人工智能女神下海宋祖儿在线播放 景甜ai换脸旗袍在线播放 人工智能换脸视频杨幂 征服娱乐圈未删节1130章 重生之玩遍女明星1 300 重生之玩遍女明星1-300欧阳娜娜 史上最h婚礼明星篇 奔跑吧兄弟1~5部分h baby婚礼第一章日杨幂 奔跑吧干baby6至10部分 飞机上艹鞠婧t 宋雨琦被日的快要喷水 跑男全体草杨颖小说 史上最淫汤的杨颖婚礼全文阅读 人工智能ai让女神下海鞠婧t 被征服的欧阳娜娜 网红柠檬玩13岁处男 上了欧阳娜娜的小说 李小璐三角裤照片 12分03秒女主播口小孩 在线播放 张琪格草小孩完整视频12分03秒视频在线播放