当前位置: 首页 > news >正文

编写网站代码固始网站制作

编写网站代码,固始网站制作,网站建设推广技术,网站开发和c语言最近在刷回溯算法时&#xff0c;遇见了List<Integer> A new ArrayList<>(); LinkedList<Integer> B new LinkedList<>();这类型的表达方式 很好奇的问题是&#xff1a; 1、List<Integer> A new ArrayList<>();为什么是正确的写法 2…

最近在刷回溯算法时,遇见了List<Integer> A = new ArrayList<>();

LinkedList<Integer> B = new LinkedList<>();这类型的表达方式

很好奇的问题是:

1、List<Integer> A = new ArrayList<>();为什么是正确的写法

2、List<Integer> A = new List<>();为什么是错误的写法

3、LinkedList<Integer> B = new LinkedList<>();为什么改成List<Integer> B = new LinkedList<>();就无法使用removeLast()方法了?

第一个和第二个问题可以一起回答:

首先我们从ArrayList的定义来看,ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。

ArrayList 继承了 AbstractList ,并实现了 List 接口

(List是一个接口,不能实例化,因此List<Integer> A = new List<>();是错误的写法)

下图出自菜鸟教程runoob

其实在项目设计时,也有这类问题。例如service层会使用

Service service = new ServiceImpl();

在Service层我们定义了一些方法,然后在ServiceImpl中重写

这样的作用是什么呢?如果我需要使用一个新的 NewServiceImpl(),我只需要换成对应的实现类即可。这也就是多态性的由来,这种方式的好处是:

  1.提高了代码的可维护性

  2.提高了代码的扩展性

因为一个接口有多个实现类的话,就相当于将方法声明和方法实现解耦,方便维护代码

并且复用了接口,提高了代码的扩展性。

所以 List<Integer> A = new ArrayList<>();也就是实例化了一个ArrayList对象后把上溯到了List。此时它是一个List对象了,但是有些ArrayList独有的属性和方法,它就不能再用了。

并且顺带一提的是,ArrayList list=new ArrayList();这句话意思是创建一个ArrayList对象,它保留了其所有属性。

那么LinkedList<Integer> B = new LinkedList<>();为什么改成List<Integer> B = new LinkedList<>();就无法使用removeLast()方法了?

因为removeLast()方法是属于LinkedList类中的方法,前者的表达保留了所有方法,而后者其实本质上是List对象,没办法使用LinkedList类的独有方法。

那么我们会发现一个问题,我为什么要定义List<Integer> A = new ArrayList<>();??那不是意味着ArrayList()独有的方法没法调用,那么他上溯到List的意义是什么呢?

其实大多数时候ArrayList()独有的方法我们是用不到的,并且这样的写法也很好的解释了面向接口编程,除非要使用ArrayList()独有的方法,我们才会使用ArrayList list=new ArrayList()。

http://www.yayakq.cn/news/787546/

相关文章:

  • 网站备案幕布照如何做凡科做网站在百度能看见吗
  • 免费传奇网站模板秦皇岛市建设局
  • 国外男女直接做的视频网站如何进行网络推广营销
  • 织梦后台做的网站怎么绑定域名企业oa管理系统
  • vps搭建网站教程宁波建设网表格
  • 网站备案审批号爱山东app下载注册流程
  • 做外贸怎样免费登录外国网站住房建设部网站 保定
  • 网站首页缩略图 seo做网站记者好吗
  • 企业外部网站建设如何制作网页表格
  • 自己怎么注册网站模板南宁培训网站建设
  • 搭建网站需要什么新奇网站建设
  • 福建就福建省住房与城乡建设厅网站做网站需要公司
  • 查大学专业网站新余哪有做网站的公司
  • 检察机关门户网站建设用php做的网站有哪些
  • 郑州大学网页设计与网站建设网站开发能用udp协议吗
  • 网站建设diywordpress的qq邮件列表qq邮件列表订阅rss源地址怎么找
  • 国外设计网站图片一般做网站图是多大的像素
  • wordpress 图片加边框东营网站搜索引擎优化
  • wordpress点餐系统优化方案物理必修一电子版
  • 内江 网站建设建设银行银行号查询网站
  • php蓝色大气科技企业网站网站建设与推广工资
  • 罗岗网站建设价格999免费网站传奇
  • 站长平台百度网页上视频如何下载
  • 网站管理系统哪个最好肃州区城乡和住房建设局网站
  • 高端网站建设加盟中通建设计院第四分公司网站
  • 网站建设售后服务光谷网站建设哪家好
  • 那些网站可以做淘宝店铺推广个人网站变现
  • 保定网站建设公司哪家好北京值得去的互联网公司
  • 一级a做爰片免费网站瑜伽旗袍网站架构
  • 三网合一网站建设公司免费网页模板网站