YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

Chinese, Traditional subtitles

← 12-10 Add or Remove Parameters

Get Embed Code
13 Languages

Showing Revision 1 created 10/11/2015 by sp14.

  1. 我将带你们一起了解一个例子,
  2. 是关于使用不同数量的输入参数的一个方法。
  3. 我先通过Android Studio中的项目工程创建一个新的应用,所以
  4. 这和Just Java完全没有联系。
  5. 我将这一方法加入到主页面中
  6. 我称它为‘createWeatherMessage’(创建天气通知)。
  7. 这里没有输入参数,而返回值是一个字符串。
  8. 这一方法可以创建一条新通知,是关于城市名称以及
  9. 气温的。
  10. 你可以把一个方法当成是指令的一个模板。
  11. 因此,我可以将气温当成输入参数。
  12. 而且它是一个数字,现在我要输入一个温度值。
  13. 然后在这里,我可以这样。
  14. 好了,这就是一个字符串,而
  15. 它与表示温度的数字是串联的。
  16. 然后它还和另一个表示华氏温度的数字串联。
  17. 现在就可以根据气温来定制通知了,因为它是
  18. 一个输入参数。
  19. 哦,对了,我刚刚忘记提这个了,在主方法中,当方法创建时,
  20. 这个方法被称为onCreat,
  21. 我称之为‘createWeatherMessage’(创建天气通知)。
  22. 之前我没有输入参数,但是现在要输入一个。
  23. 所以我输入77作为温度的值。
  24. 这样不会有错误,这种方法调用是正确的。
  25. 另外需要改进的是这个方法的注释部分。
  26. 我要增加一个空白行,
  27. 然后,对输入的值,也就是温度,进行描述。
  28. 我输入@ param temperature,
  29. 然后就可以添加一个说明来表示这是这个城市的气温。
  30. 有时候参数的名字是比较难以理解的,
  31. 所以这就是为什么注释同样很重要。
  32. 而有些时候如果你的方法是公开的,那么其他人就能
  33. 调用这个方法,
  34. 但是他们可能并不知道这个方法里包含的指令。
  35. 因此,阅读方法文档和
  36. 参数注释对他们来说是非常有帮助的。
  37. 我之前提到,一个方法就像一个模板。
  38. 所以,如果我们想要更换一个城市,比如不总是旧金山,会怎么样呢?
  39. 我可以将城市作为一个输入参数。
  40. 可以在这加一个逗号。
  41. 而城市名字是文本,我要将它变成一个字符串的形式。
  42. 然后就能删除旧金山,用其他不同的城市名字来代替。
  43. 要记得在这之前和之后都加一个空格。
  44. 好了,现在这个方法就能创建通知了,
  45. 而这条通知对某一城市和温度是特定的。
  46. 我也没有忘记更新方法文档,
  47. 这样就多了这条表示城市名字的参数和注释。
  48. 由于我更改了方法签名,所以现在这里出现了一个错误。
  49. 仅有一个参数,该方法不能运行了。
  50. 我需要输入两个参数。
  51. 所以,我要加一个逗号,然后输入San Francisco这个字符串。
  52. 现在错误消除了。
  53. 当我调用创建天气通知(createWeatherMessage)这个方法时,
    它就会将77作为温度的值,
  54. 旧金山(San Francisco)作为城市的名字。
  55. 它也会在这里显示一条合适的字符串。
  56. 现在,我们再来回顾计价calculatePrice方法,
  57. 同时优化方法签名,
  58. 使用不同个数的输入参数。
  59. 我们将分别采取不用、用1个
  60. 以及同时用两个输入参数的方式来定义。
  61. 你会看到输入参数的改变
  62. 对方法调用方式的影响以及方法签名的变化。
  63. 通常,当你在构建你的应用方法时,
  64. 使用含一种输入参数数量的定义方式就行了。
  65. 而且一般输入参数的个数由
  66. 方法内部的情况决定。
  67. 最好的方法是仅仅输入
  68. 实际在方法中需要用到的参数。
  69. 如果在方法中用不到的话,
  70. 多输参数是徒劳无益的。
  71. 以下是相关的指导法则。
  72. 首先,在你应用的主方法中定义calculatePrice方法。
  73. 对于开始的代码片段,注意看它们的指导说明。
  74. 我们接下来修改calculatePrice方法,
  75. 它仅有一个输入参数。
  76. 然后,在submitOrder方法中调用calculatePrice方法,
  77. 同时输入质量值作为输入参数。
  78. 接着尝试用两个输入参数来修改calculatePrice方法。
  79. 根据这一方法,在submitOrder方法中需要
    调用calculatePrice的质量值,
  80. 而后输入价格,比如$10。
  81. 最后,修改calculatePrice方法使其没有输入参数。
  82. 这一方法的submitOrder方法中只要调用calculatePrice方法,
  83. 像这样。
  84. 让我们一起来完成第一种,这样你们就能理解我的意思了。
  85. 打开指导说明中的链接。
  86. 这里我们提供了calculatePrice方法的代码。
  87. 所以翻到最前面,全选,然后复制。
  88. 在Android Studio里面,复制这段代码。
  89. 我把它复制在submitOrder方法的正下方,
  90. 然后要确认每段方法之间留有一行空白。
  91. 这样阅读起来更容易。
  92. 接着从submitOrder方法调用这段方法。
  93. 我将调用代码写在这段方法的最底部。
  94. 稍后,我们会把它与上面的代码相整合。
  95. 但是现在,这样就行了。
  96. 哎呀,我忘记我们现在需要使用一个输入参数,那就需要输入一个质量值了。
  97. 现在做同样的事情,
  98. 通过修改输入的参数来完成剩余的两项工作。
  99. 为完成这个任务,如果你们需要例子作为参考的话,
  100. 可以上Google去搜索相关的Java方法。