YouTube

Got a YouTube account?

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

Chinese, Simplified subtitles

← What Are Java Objects?

Get Embed Code
15 Languages

Showing Revision 4 created 08/02/2016 by Udacity Robot.

  1. 你还记得这些盒子吗?
  2. 什么盒子?
  3. 这些盒子
  4. — 嗯 — 你记得它们吗?
  5. 嗯 嗯
  6. 我记得它们
  7. 它们是变量 你可以把数值放进去
  8. 嗯 并且
  9. 你可以把多个变量整合起来创建一个更大的 Java 对象
  10. 你可以把两个或更多的变量
  11. 变成更大的变量
  12. — 确实 — 好的
  13. 像一个 TextView
  14. 我们可以有一个整型变量
  15. 这是关于字体大小的
  16. 确实
  17. 好的
  18. 然后你也可以有一个
  19. 字符串变量
  20. 字符串变量是关于真实文本本身的
  21. 这些变量都可以放到 TextView 中 成为 TextView 的声明
  22. 我们使用不同的方法与这些变量互动
  23. 我们接下来会进行操作
  24. 好的
  25. 我们开始吧
  26. 正如我们之前提到的 像这样在屏幕上显示 TextView
  27. 实际上是通过应用里的 Java 对象控制的
  28. 这是一个 TextView Java 对象的示例
  29. 他像一个盒子 在它的里面有声明的变量
  30. 声明是由一堆字段组成的
  31. 字段是一个变量 就像第二课
  32. 我们学全局变量时说的
  33. 我们可以使用文本字段来存储 today 字符串
  34. 它是最后在屏幕上显示的文本
  35. 我们可以使用一个整型字段来存储文本的字体大小
  36. 还有其他的一些字段
  37. 像文本颜色 字体族 这些组成 TextView 的声明
  38. 我只是没有把它们画在图片上
  39. 当应用运行的时候 为了和 Java 对象互动
  40. 并且改变它的值 我们可以调用 TextView 的方法
  41. 我们之前在第三课学到的方法
  42. 在 TextView 中的一些实例方法是 setText 和 getText
  43. 还有 setTextSize 或者 getTextSize 等等
  44. 每一个方法都只执行一串指令
  45. 还有像 onDraw 这样的复杂方法
  46. 它用来处理在屏幕上绘画 TextView
  47. 所以总体来说 TextView 对象包含了 TextView 中声明的信息
  48. 你可以调用这些方法与 TextView 互动
  49. 例如修改声明或者做更复杂的动作
  50. 为了在屏幕上显示 TextView 实际上有一个
  51. TextView 的 Java 对象放在应用里
  52. 这个特定的 ImageView 包含声明信息 比如图像应该怎样显示
  53. 以及尺寸类型 像居中
  54. 再者 还有其他字段组成 ImageView 的声明
  55. 我只是没有在这画出来
  56. 有像 setImage setScaleType 的方法 甚至更复杂的方法
  57. 像 onDraw 它将 ImageView 绘画到屏幕上
  58. 需要注意的是 作为开发人员
  59. 我们不需要明确地调用 onDraw 来告诉它画到屏幕上
  60. Android 自动为我们处理这些调用 但是调用这些方法
  61. 用来改变 ImageView 是非常有用的 例如
  62. 我们怎样知道 ImageView 声明里的所有属性是什么
  63. 以及它里面有哪些方法?
  64. 为了回答这个问题 我们必须看一下这个对象的类的定义
  65. 它是一个叫做 TextView.java 的文件
  66. 与我们定义的 MainActivity.java 类似
  67. 在这个 TextView 类文件里 我们有很多
  68. 谈论 TextView 声明和方法的代码
  69. 现在它并没有明确地表示任何声明和方法 但是它包含
  70. 声明信息和方法信息
  71. 你可以想到 作为定义 TextView 行为的规则
  72. 对象实例能够包含特定的信息 像文本字符串 today
  73. 或文本字号18
  74. 你可以使用这个类来创建更多的 TextView 对象实例
  75. 而且它们有不同的文本字符串
  76. 我认为这个可以包含字符串 hello
  77. 这个可以包含字符串 goodbay
  78. 它们也可以有不同的字号 不同的字体颜色 等等
  79. 然而 它们都是以类模板为基础的
  80. 你也许很难区分一个类和一个对象实例
  81. 但是没关系
  82. 你需要花费一些时间来习惯
  83. 有一个比喻来帮助你
  84. 你可以想象成给一个房子建造平面图
  85. 你可以使用这个平面图来建造真实的房子
  86. 每一个房子都有一点不同
  87. 但是它们都是基于这个平面图来建造的
  88. 记住平面图并不是房子本身 这点很重要
  89. 它只是一个计划
  90. 同样的道理 TextView 类是用来创建这些对象实例的
  91. 所以这些实例是有真实的文本值
  92. 文本颜色值和字体大小
  93. 那么其中的一个类看起来像什么呢?