YouTube

Got a YouTube account?

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

Chinese, Simplified subtitles

← Add or Remove Parameters

Get Embed Code
13 Languages

Showing Revision 3 created 08/27/2016 by Udacity Robot.

  1. 接下来我将带你看一个关于方法的例子
  2. 当接受不同数量的输入参数时
  3. 我开始在 Android Studio 通过项目向导创建一个新的应用
  4. 这和 Just Java 应用完全不相关
  5. 我将这个方法添加到 MainActivity 6
  6. 叫做 createWeatherMessage
  7. 这里没有输入参数 返回值是一个字符串
  8. 这个方法希望创建一个显示城市名字
  9. 和气温的新信息
  10. 你可以将这个方法看作指令的模版
  11. 所以我可以将温度作为一个输入参数
  12. 并且那是一个数字 所以我接下来输入 int temperature
  13. 然后我就在这用到它了
  14. 这是一个字符串
  15. 它连接了整型变量 temperature
  16. 之后又连接了其余的字符串类型表示华氏度
  17. 现在这条消息可以根据温度被制定因为它
  18. 是一个输入参数
  19. 哦不 我忘了之前提到过了 不过在 MainActivity 的 onCreate 方法里
  20. 当这个 Activity 被创建的时候它被调用
  21. 我叫它 createWeatherMessage
  22. 之前我们不需要传参数 但现在我们必须要有一个参数
  23. 我将把77作为温度传进去
  24. 现在将错误解决了 这个方法的调用也对了
  25. 另一个我需要改的就是这个方法的注释
  26. 加一个空行
  27. 接着我将描述输入参数 它是这里的 temperature
  28. 输入 @param temperature
  29. 之后我可以添加一个描述这个城市气温的内容
  30. 有时参数名有一点难懂
  31. 这就是为什么注释很有用的原因
  32. 如果你的方法是 public 类型的其他人就可以
  33. 调用这个方法
  34. 他们可能不知道这个方法的具体指令
  35. 所以阅读这个 Java 文档以及
  36. 参数的描述对他们非常有用
  37. 我之前提到过 方法就像是一个模版
  38. 所以 如果我们想要改变城市使它不显示 San Francisco
  39. 我可以将城市做成输入参数
  40. 只要在这加一个逗号
  41. 城市的名字是一段文本我将设置为String数据类型
  42. 之后我可以删除 San Francisco 并用变量 cityName 代替它
  43. 做完这些之前记得在这加一个空格
  44. 酷 现在这个方法创建一个消息
  45. 可以自定义一个城市和天气
  46. 我建议去修改 Java 文档
  47. 它有这个附加参数并描述城市的名字
  48. 当我修改了方法的特征 这里出错了
  49. 这个方法传一个参数已经不管用了
  50. 我需要传两个参数
  51. 所以我添加一个逗号传入 San Francisco 字符串
  52. 现在错误没有了
  53. 所以当我调用 createWeatherMessage (77, 它将会给温度赋值
  54. San Francisco 将会是城市名字
  55. 它将在这里创建合适的字符串值
  56. 现在回到 calculatePrice 方法
  57. 我打算修改方法的特征
  58. 它会有不同数量的输入参数
  59. 我们先定义一个无参数的方法 然后是一个参数
  60. 最后 试着改成两个参数
  61. 你会看到方法的特征如何变化当有不同
  62. 数量的参数对另一个方法的调用产生影响
  63. 正常情况下当你创建你的应用
  64. 你都要确定方法的参数数量
  65. 这个数量通常取决于
  66. 方法要做什么
  67. 最佳实践是只传
  68. 你在方法中真正用得到的参数
  69. 多传参数毫无意义如果你将不会
  70. 在里面使用
  71. 这是本次任务的说明
  72. 首先在应用的 MainActivity 中定义 calculatePrice 方法
  73. 看看讲师注释的代码片段你可以从这开始
  74. 我们将要修改 calculatePrice 方法
  75. 只有一个参数
  76. 这时 submitOrder 方法调用 calculatePrice
  77. 将 quantity 作为参数传入
  78. 然后试着将 calculatePrice 方法改写成两个参数传入
  79. 在 submitOrder 方法中调用 calculatePrice 的 quantity
  80. 向它传入价格例如$10
  81. 最后 试着改变 calculatePrice 使它没有参数传入
  82. 在 submitOrder 方法中调用 calculatePrice
  83. 像这样
  84. 让我们来做第一个 这样你就懂我的意思了
  85. 我先要打开讲师注释中的链接
  86. 这里的要点是我们提供 calculatePrice 方法的代码
  87. 继续选中每一个并复制
  88. 在 Android Studio 粘贴到这个方法
  89. 我把它粘贴到 submitOrde 的下面
  90. 我将确定在两个方法之间有一个空行
  91. 这使阅读更方便
  92. 这时我可以从 submitOrder 方法调用这个方法
  93. 先把方法名写到这个方法的下面
  94. 然后要把代码组合起来
  95. 此时此刻 这很好
  96. 哦 我忘了我们有一个输入参数 我需要传递 quantity 97
  97. 同样的
  98. 对其余的个测试也要修改这里的输入参数
  99. 为了完成这个练习 如果你需要参考的例子
  100. 你同样可以在 Google 查找 Java 方法