你可能正在寻找这样的东西:

public static void main(String... args) {

// do this - declare the variable to be of type Set, which is an interface

Set buddies = new HashSet();

// don't do this - you declare the variable to have a fixed type

HashSet buddies2 = new HashSet();

}

为什么以第一种方式做好考虑呢?假设稍后你决定使用一个不同的数据结构,比如说LinkedHashSet,以便利用LinkedHashSet的功能。代码必须如下更改:

public static void main(String... args) {

// do this - declare the variable to be of type Set, which is an interface

Set buddies = new LinkedHashSet(); //

// don't do this - you declare the variable to have a fixed type

// this you have to change both the variable type and the constructor call

// HashSet buddies2 = new HashSet(); // old version

LinkedHashSet buddies2 = new LinkedHashSet();

}

这看起来不是那么糟,对吧?但是如果你用相同的方式写getter呢?

public HashSet getBuddies() {

return buddies;

}

这也必须改变!

public LinkedHashSet getBuddies() {

return buddies;

}

希望你看到,即使有这样一个小程序,你对你声明变量的类型有深远的影响。随着对象来回传播,这绝对有助于使程序更容易编码和维护,如果您只是依赖于声明为接口的变量,而不是该接口的特定实现(在这种情况下,将其声明为设置,不是LinkedHashSet或其他)。可以这样:

public Set getBuddies() {

return buddies;

}

还有另一个好处,在这个(至少对我来说)差异有助于我更好地设计一个程序。但希望我的例子给你一些想法…希望它有所帮助。

java进入编程界面_java – 编程到界面是什么意思?相关推荐

  1. java管理系统界面_java编程实现一个学生信息管理系统的图形界面

    展开全部 package 学生管理界面32313133353236313431303231363533e78988e69d8331333236376538; import java.awt.Borde ...

  2. java程序运行图形_java编程 要用到继承的方法图形计算器项目: 实现一个图形计算器,程序运行后显示界面:请选择图形: 1 圆 2 矩形...

    共回答了12个问题采纳率:91.7% 代码如下.输入参数和计算结果都为整数.具体类型请自行修改.import java.util.Scanner; public class Test { public ...

  3. java猜字母游戏_JAVA编程题-用java编写猜字母游戏

    原标题:JAVA编程题-用java编写猜字母游戏 问题: 猜字母游戏,其游戏规则为: 程序随机产生5个按照一定顺序排列的字符作为猜测的结果,由玩家来猜测此字符串.玩家可以猜测多次,每猜测一次,则由系统 ...

  4. java里冒泡排序编程案例_java编程题:用Java实现一个冒泡排序算法

    /** * java编程题:用Java实现一个冒泡排序算法 */ public class Test12 { public static void main(String[] args) { int[ ...

  5. java程序输出矩阵_java编程题之顺时针打印矩阵

    本文实例为大家分享了java顺时针打印矩阵的具体代码,供大家参考,具体内容如下 import java.util.ArrayList; /** * * 剑指offer编程题(JAVA实现)--第19题 ...

  6. java卡片布局例子_Java编程使用卡片布局管理器示例【基于swing组件】

    本文实例讲述了java编程使用卡片布局管理器.分享给大家供大家参考,具体如下: 运行效果: 完整示例代码: package com.han; import java.awt.borderlayout; ...

  7. java程序算法实例_java编程算法经典案例

    编程经典案例(持续更新中,敬请期待): 一.购物问题 小明的女朋友最喜欢在网上买买买了,可是钱包里钞票有限,不能想买啥就买啥.面对琳琅满目的物品,她想买尽可能多的种类,每种只买一件,同时总价格还不能超 ...

  8. java 删除图形界面_Java图形化界面报错?

    import java.awt.*; import java.awt.event.*; import javax.swing.*; import 测试新界面.Panel.DeletePlayer; i ...

  9. 利用JAVA手机登录页面_Java用户登陆界面例子 代码

    2,流式布局:FlowLayout.布局方式为从左到右,从上到下.是JPanel(轻量级容器)的默认面板布局. 3,网格布局:GridLayout.布局方式为行和列组成的网络.布局方法:setLayo ...

最新文章

  1. java8 虚拟机调优_Java虚拟机调优(八)-典型配置举例2
  2. 西北工业大学 计算机学院王云岚,王云岚
  3. 【渝粤教育】国家开放大学2018年秋季 1049t金融法规 参考试题
  4. razor java,如何在Razor中声明局部变量?
  5. xml层级工具_.NET的类型层次查看工具,ClassHierarchyViewer,0.3.0.1
  6. Java 线程之间通信
  7. 一步设置Intellij IDEA 热部署处理方法
  8. OpenCV图像处理基础(变换和去噪)
  9. 为什么所有浏览器的userAgent都带Mozilla
  10. gdiPlus 显示图片缩放不正确的可能解决方案
  11. JS根据身份证号码获取性别
  12. 口腔管理软件DSD微笑设计与正畸头影测量工具组合包简介
  13. 信息检索平台Terrier的使用
  14. Unreal 4 更改Engine位置
  15. 高德地图在H5页面中的使用(VUE)
  16. Linux网络环境配置 虚拟机网络环境配置
  17. echarts中y轴设置刻度_ECharts中y坐标轴刻度的属性
  18. 全国计算机noi,中国计算机协会关于设立NOI基地的公告
  19. cad怎么画坐标系箭头_如何方便快捷地用CAD画箭头
  20. DY-32/60C-DY-29、DY-38电压继电器

热门文章

  1. mysql  基本操作(二)
  2. python 爬虫输出为空,python爬取文件时,内容为空
  3. g460 bios 白名单_深睛高清车牌识别相机白名单,智能管理车辆进出_深睛车牌识别...
  4. tableau实战系列(四十七)-Tableau快速生成可视化视图
  5. 如何提取Tableau打包工作簿中的自定义图形和数据集
  6. pycharm开发python时出现控制台显示中文乱码
  7. 深度学习100例 | 第24天-卷积神经网络(Xception):动物识别
  8. Matplotlib-barh-绘制水平条形图
  9. 【图像处理opencv】_简单绘图
  10. 特征训练、预测一致性管理工具:开源项目Feast