Return to Video

Create an Object

  • 0:01 - 0:03
    在上一个视频中讲到 构造函数
  • 0:03 - 0:08
    是在类中定义的 它被用来创建对象实例
  • 0:08 - 0:11
    我们调用 TextView 构造函数来创建这个实例
  • 0:11 - 0:14
    然后再一次调用它创建实例 如此反复
  • 0:14 - 0:17
    我们来看看代码 实际是怎么调用构造函数的
  • 0:18 - 0:22
    你还记得如何创建一个新的叫作 quantity 的整型变量
  • 0:22 - 0:25
    并且把它初始化为 2 吗?
  • 0:25 - 0:26
    创建一个新的对象 并且
  • 0:26 - 0:29
    把它存放在一个变量中 用相似的格式
  • 0:30 - 0:32
    看起来是这样的
  • 0:32 - 0:36
    我们用的是对象数据类型而不是整型数据类型
  • 0:36 - 0:39
    对象数据类型就是我们所谓的类名称
  • 0:39 - 0:42
    在这个例子中 类型就是 TextView
  • 0:42 - 0:46
    只要它遵循变量名称规范 可以是任何东西
  • 0:46 - 0:48
    所以我们叫它 priceTextView
  • 0:48 - 0:50
    然后我们把它设置为等于新对象
  • 0:50 - 0:52
    我们可以进一步分解右边
  • 0:53 - 0:58
    右边遵循 new + 对象数据类型的格式
  • 0:58 - 1:00
    在这个例子中是 TextView
  • 1:00 - 1:04
    这里调用的是 TextView 类中定义的构造函数 所以
  • 1:04 - 1:08
    这里有一对括号 括号中的参数是带入构造函数中的
  • 1:08 - 1:11
    如果构造函数需要一个语境对象
  • 1:11 - 1:13
    那么我们需要传入一个语境
  • 1:13 - 1:18
    记住语境对象帮助你获取应用资源以及
  • 1:18 - 1:20
    其他的关于应用环境的东西
  • 1:21 - 1:24
    总而言之 创建了一个新的 TextView 对象
  • 1:24 - 1:26
    通过调用构造函数
  • 1:26 - 1:31
    并且把这个新的对象存放在一个叫作 priceTextView 的变量中
  • 1:31 - 1:35
    这个变量只能控制一个 TextView 对象
  • 1:35 - 1:36
    就像它的数据类型定义的一样
  • 1:37 - 1:40
    另一个例子是创建 ImageView 对象
  • 1:40 - 1:42
    并把它存放在一个变量中
  • 1:42 - 1:46
    数据类型是 ImageView 变量名称是 coffeeImageView
  • 1:46 - 1:50
    然后赋值运算符后面是 new+ ImageView
  • 1:50 - 1:54
    它和这里的对象的数据类型的拼写是一样的
  • 1:54 - 1:57
    因为我们调用了构造函数 所以我们要输入所需的所有参数
  • 1:57 - 2:01
    有括号 并且把输入参数写在这里
  • 2:01 - 2:03
    第三个例子是创建一个按钮对象
  • 2:03 - 2:06
    并把它存放在变量中
  • 2:06 - 2:08
    数据类型是 Button 变量名称是 submitOrderButton
  • 2:08 - 2:12
    然后假设新的 Button 调用构造函数
  • 2:13 - 2:16
    你甚至可以定义你自己的对象数据类型
  • 2:16 - 2:20
    例如 我为 CatView 创建一个类定义
  • 2:20 - 2:23
    然后我可以用这行代码创建一个新的 CatView
  • 2:23 - 2:25
    这时 构造函数需要一个输入字符串
  • 2:25 - 2:29
    作为猫的名称 这就是我为什么在括号中输入 Tiger 的原因
  • 2:29 - 2:32
    并且把它传给 CatView 的构造函数
  • 2:32 - 2:36
    为了确定这些构造函数的输入参数
  • 2:36 - 2:41
    你不得不查看 类 Java文档文件 或者类源文件
  • 2:41 - 2:46
    这些例子中都使用 new 来创建新的对象
  • 2:46 - 2:48
    如果我们回到 Java 关键词列表
  • 2:48 - 2:51
    我们可以发现 new 确实在列表之中
  • 2:52 - 2:55
    有时当你看文件的时候
  • 2:55 - 2:59
    它可能会建议你用 工厂方法模式来创建对象
  • 2:59 - 3:02
    而不是用构造函数
  • 3:02 - 3:03
    这是一个例子
  • 3:03 - 3:04
    为了创建新的 MediaPlayer
  • 3:04 - 3:09
    文档中建议你使用 MediaPlayer.create 方法
  • 3:09 - 3:13
    这可以返回一个 MediaPlayer 对象 并且存放在这个变量中
  • 3:13 - 3:17
    它遵循对象数据类型的格式 首字母 M 大写的 MediaPlayer
  • 3:17 - 3:23
    加一个点 工厂方法名称 在这里就是 create
  • 3:23 - 3:26
    然后传入输入参数来初始化播放器
  • 3:27 - 3:30
    另一个例子是创建 Toast
  • 3:31 - 3:34
    一个 toast 是一条即时从应用弹出
  • 3:34 - 3:34
    然后消失的信息
  • 3:35 - 3:39
    代码 Toast 开头 大写 T
  • 3:39 - 3:40
    这是对象数据类型
  • 3:40 - 3:44
    然后是一个点 然后是 makeText 它是一个 工厂方法名称
  • 3:44 - 3:49
    然后我们传入输入参数来创建 Toast
  • 3:49 - 3:52
    为了了解工厂方法名称 和输入参数是什么
  • 3:52 - 3:55
    你需要查看 Toast 类的文档
  • 3:55 - 3:58
    通常来说 想知道是用构造函数创建对象
  • 3:58 - 4:02
    还是用工厂方法创建对象 你可以在 Google 中搜索
  • 4:02 - 4:04
    如何创建那个对象
  • 4:04 - 4:07
    使用构造函数创建对象是最常用的方式
  • 4:07 - 4:10
    使用工厂方法比较少见
  • 4:10 - 4:13
    至于你应该用哪个创建方式 你可以在 Google 中搜索
  • 4:13 - 4:14
    如何创建那个对象
  • 4:15 - 4:18
    这里有一个创建对象的练习机会
  • 4:18 - 4:20
    在每行代码中有一个错误
  • 4:21 - 4:22
    指出错误是什么
  • 4:22 - 4:25
    并且在下面的方框中写出正确的代码
タイトル:
Create an Object
概説:

more » « less
Video Language:
English
Team:
Udacity
プロジェクト:
UD837 - Android for Beginners
Duration:
04:27

Chinese, Simplified subtitles

改訂 Compare revisions