0x10ve
一枚菜鸟对于Java易混淆点的自我辨析(学习总结)

本人是软工系的老油条,看见技术区很少有比较及时的干货更新,所以产生了发帖的想法

,第一次发帖,(老鸟请飞过,忽视~~)不喜勿喷。

Java,我相信大家都很熟悉了,下面是我曾经遇到过并产生的问题。

主要解决两个问题:先列一个大纲(目的是如果有人看见大纲觉得没意思的可以跳过,忽视)~~

问题1:Java设计模式中的适配器模式与代理模式的区别?

问题2:Java中abstract与interface的区别?

#shao先解决问题1:

问题1:适配器模式与代理模式的区别:

我从两个方面来解释,

①.从定义上:

适配器模式:将一个类的接口适配成用户所期待的接口。使得原本有的类因为接口不兼容的问题而不能在一起工作的类可以通过适配器在一起工作。

代理 模式:为其它对象提供一种代理以控制对这个对象的访问。

这里需要注意的是,适配器是因为原本的接口不兼容而又需要再一起工作这样的背景下产生;而代理的定义里面,请注意关键字 “提供”,“控制”,这里是说明代理在设计的出发点和适配器的出发点就是不一样的。代理是不希望与用户接口产生过多接触或者是不方便直接接触。

②.从代码结构上:

适配器模式:适配器是定义一个用户接口仅供Adapter实现,另一个目标接口是已经存在的类(注意这里是已经存在的类,而不是继承于abstract或者实现interface接口的类)

代理 模式:代理模式是定义一个用户接口供真是对象和代理对象同时继承实现。

#shao解决问题2:

问题2:interface与abstract的区别?

大家知道Java之中存在两种抽象机制,才使得Java有着强大的面向对象功能,两种都是抽象,但这两种机制有着什么区别呢?相信大家也和我一样好奇。

首先说abstract:

abstract类声明了方法而不去具体实现,不能在该类里有具体实例。可以创建变量,但该变量是抽象的。再者,abstract中不能有抽象静态方法,以及抽象构造函数。通过子类去实现父类abstract中的抽象方法,父类的方法可以被重写。(需要注意的是,里面的方法也可以具体实现)

而interface呢,interface是为用户提供一个接口,接口内全部是默认为public,abstract。interface中的所有方法都是抽象的,算是abstract的一种变体吧。相对于abstract,接口中定义的变量只能是static final类型的变量。但通常不在接口处定义(下面会讲为什么)~~

总结一下吧,abstract与interface都属于java中的抽象机制,但abstract中的方法在子类中可以用也可以不用,也可以重写。而interface中的方法继承与它的就必须实现其全部抽象方法。不能重写。一个类可以通过一次继承关系继承一个abstract类,也可以通过多重继承实现继承多个abstract类。而一个类是可以实现多个接口的。

abstract中的方法通常是不经常改动的,interface接口类型则是常被用来定义常用功能的。

okay~~学习笔记就到这里啦~

以上是我关于这两个问题的自我学习和总结,或许有不够透彻的地方,欢迎大家批评指正,吼吼~。

iiwspiupiu
现在学计算机还有市场么,不知道能做什么工作?

现在学计算机还有市场么,不知道能做什么工作?是不是所有这个专业的人都会非常累啊。。

Fogbow
很多工作刚开始都是很苦的
展开Biu

很多工作刚开始都是很苦的,所以累是在所难免的,看你自己学的程度了。

[查看全文]
__夏生
本帖最后由
展开Biu

本帖最后由 __夏生 于 2017-2-10 11:02 编辑

计算机 市场还是有的吧

笼统的说 计算机行业 其实内里分很多种

不知道楼主学的专业是啥

这个技术行业 就语言都有好几种 java c php python各种选择

辛苦这个 要怎么看

赶项目进度的时候 加班熬夜是有的 要保证项目正常上线

[查看全文]
江邺北若
android studio的安装问题

求大神们指导安装Android studio 一遍流程下来 最后打开变成这样#7181!

不知道是哪里的问题 想问有什么办法解决?

江邺北若
还有人来救命嘛
展开Biu

Unable to create Channel from class class 还有人来救命嘛!!!!

[查看全文]
natsumeyu
求助!有R语言相关的教程么……

看了一下整个板块,发现没有R……嗯,有人知道比较好的R教程么?

谢谢!

dadsaz
求问!vb的小编程

本帖最后由 dadsaz 于 2016-12-19 13:16 编辑

设计一个计算器

一个按钮 点击按钮输入 体重(kg) 输入 身高(平方) 然后会得出一个值 值是体重(kg)除身高(平方 m)

求教!(本人菜鸟这个是期末作业求大神帮助)

YICHI
能不能帮忙代写一个程序

MFC匿名管道通信,windows进程的

doucloud
都过了半年了
展开Biu

都过了半年了 楼主应该已经写好了吧

[查看全文]
2602352939
帮忙顶一下贴吧
展开Biu

帮忙顶一下贴吧

[查看全文]
yunhaiyuchen
likezyw
楼主辛苦了
展开Biu

感谢,楼主辛苦了

[查看全文]
分飞雪
楼主加油
展开Biu

楼主加油,完全不会

[查看全文]
不存在小白菜
程序什么的最难搞了
展开Biu

程序什么的最难搞了,楼主加油吧

[查看全文]
1232511153
很高深的一个程序
展开Biu

很高深的一个程序

[查看全文]
csjacsj
为什么不自己写
展开Biu

为什么不自己写??

[查看全文]
查看更多
Wukong
第一次来技术区...我就是想求个助【心塞

我就是单纯的想求个助.....但是我发现我根本就看不懂这里面在缩神魔【迷茫....

今下午一开电脑.....就发现喵的....居然打不开.......

电脑....系统文件丢失辣...开不了机....

度娘了好多(真的很多解决的办法)炭素........我发现依我的智商依然拯救不了它....我该肿么破!!!

【估计只有找修电脑的辣@@11!!心塞赛

烟花救赎
系统文件损坏咯
展开Biu

系统文件损坏咯,所以不能正常启动系统。

这种时候把系统版插进电脑修复一下就可以的

[查看全文]
wugy315
直接重装系统就好啦
展开Biu

直接重装系统就好啦。要是不行就是硬盘坏了改换硬盘了

[查看全文]
Wukong
星云之翼
展开Biu

星云之翼 发表于 2016-11-24 16:35

我也懂的不多,但是这个提示的意思就是让你把装系统时用的安装盘放入cd光驱,然后启动后按R键来修复这个丢 ...

@@7!! 虽然大概懂什么意思了,但我还是搞不懂,所以我决定放弃了

[查看全文]
星云之翼
我也懂的不多
展开Biu

我也懂的不多,但是这个提示的意思就是让你把装系统时用的安装盘放入cd光驱,然后启动后按R键来修复这个丢失的文件

要是你没有windows的安装光盘也不想送电脑店修的话。。。用u盘做个启动盘重装电脑吧

[查看全文]
氷見美咲
感觉这个发到水区可能会有及时的回复
展开Biu

感觉这个发到水区可能会有及时的回复,估计你现在电脑应该搞好了吧。像这种情况,如果修复了之后还有问题,我可能就直接重装电脑吧_(:з」∠)_我也就只会这个

[查看全文]
苏武器
有谁知道python怎样进行多线程下载吗?

最近使用python写了个小爬虫下载p站图片,但是因为不是多线程的,每次request之后

等待好久,相当浪费时间,想请问有没有什么办法进行多线程爬虫,求大神。

烟花救赎