《Android游戏开发详解》一2.13 调用对象的行为

2.13 调用对象的行为

Android游戏开发详解
在前面的小节中,我们介绍了如何赋值和访问所创建的对象的状态。接下来,我们讨论方法,并且学习如何调用对象的行为。

调用方法也需要使用点运算符。我们使用点运算符来引用属于一个特定对象的具体的方法。在程序清单2.12的main方法的底部,添加如下所示的两行代码。

myPhone.togglePower();
myPhone.upgrade(4.5);

如果我们再回头来看看Phone类,会看到togglePower方法检查boolean poweredOn的当前值,并且对其取反(将ture变为false,将false变为true)。由于创建对象的时候,myPhone最初是打开的,我们期望myPhone现在关闭。我们还预测了myPhone的androidVersionNumber从4.4变为4.5。

为了测试这些,我们又一次打印出myPhone对象的状态,在main方法的底部添加一些打印语句,如程序清单2.13所示。

程序清单2.13 打印出myPhone的状态

01 public class World {
02    
03    public static void main(String[] args) {
04      System.out.println("Hello, world!");
05      Phone myPhone = new Phone();
06      myPhone.poweredOn = true;
07      myPhone.playingMusic = false;
08      myPhone.phoneManufacturer = "Samsung";
09      myPhone.androidVersionNumber = 4.4;
10      
11      System.out.println("myPhone's state:");
12      System.out.println("Powered on: " + myPhone.poweredOn);
13      System.out.println("Playing music: " + myPhone.playingMusic);
14      System.out.println("Manufacturer: " + myPhone.phoneManufacturer);
15      System.out.println("Version: " + myPhone.androidVersionNumber);
16      
17      myPhone.togglePower();
18      myPhone.upgrade(4.5);
19      
20      // include “\n” to skip a line when printing.
21      System.out.println("\nmyPhone's NEW state:");
22      System.out.println("Powered on: " + myPhone.poweredOn);
23      System.out.println("Playing music: " + myPhone.playingMusic);
24      System.out.println("Manufacturer: " + myPhone.phoneManufacturer);
25      System.out.println("Version: " + myPhone.androidVersionNumber);
26    }
27 }

相应的输出如下所示。

Hello, world!
myPhone's state:
Powered on: true
Playing music: false
Manufacturer: Samsung
Version: 4.4
Powering off!
myPhone's NEW state:
Powered on: false
Playing music: false
Manufacturer: Samsung
Version: 4.5

正如所预测那样,手机关闭了,并且其Android版本现在是4.5。我们能够调用myPhone行为来执行特定的操作,以修改myPhone的状态了。

时间: 2024-11-23 05:56:23

《Android游戏开发详解》一2.13 调用对象的行为的相关文章

《Android游戏开发详解》一2.21 对象和基本类型的分组

2.21 对象和基本类型的分组 Android游戏开发详解Java允许我们把对象和基本类型组织到一起.我们常见的有两种对象,可以用来进行分组,它们是数组和列表. 2.21.1 数组 要表示某种类型的一个数组(或组),我们使用方括号.例如,如果想要整数的一个数组,可以像下面这样声明. int[] numbers = new int[5]; 上面例子中的数字5,表示名为numbers的数组应该有多大.正如上面所声明的,numbers将能够容纳5个整数值.要描述数组的样子,我们可以画一个表,如图2-2

《Android游戏开发详解》——第2章,第2.21节对象和基本类型的分组

2.21 对象和基本类型的分组Android游戏开发详解Java允许我们把对象和基本类型组织到一起.我们常见的有两种对象,可以用来进行分组,它们是数组和列表. 2.21.1 数组要表示某种类型的一个数组(或组),我们使用方括号.例如,如果想要整数的一个数组,可以像下面这样声明. int[] numbers = new int[5]; 上面例子中的数字5,表示名为numbers的数组应该有多大.正如上面所声明的,numbers将能够容纳5个整数值.要描述数组的样子,我们可以画一个表,如图2-28所

《Android游戏开发详解》——第2章,第2.13节调用对象的行为

2.13 调用对象的行为Android游戏开发详解在前面的小节中,我们介绍了如何赋值和访问所创建的对象的状态.接下来,我们讨论方法,并且学习如何调用对象的行为. 调用方法也需要使用点运算符.我们使用点运算符来引用属于一个特定对象的具体的方法.在程序清单2.12的main方法的底部,添加如下所示的两行代码. myPhone.togglePower(); myPhone.upgrade(4.5); 如果我们再回头来看看Phone类,会看到togglePower方法检查boolean poweredO

《Android游戏开发详解》——第1章,第1.7节控制流程第1部分——if和else语句

1.7 控制流程第1部分--if和else语句 Android游戏开发详解 我们现在把注意力转向控制流程(control flow ,也称为流程控制,flow control),这指的是代码行将要按照什么样的顺序执行.还记得代码执行的基本规则吧,它是说代码要从上到下地执行.在最简单的程序中,代码真的是按照线性方式从上向下执行的.然而,在任何有用的程序中,我们可能会看到,根据某些条件,会跳过一些代码行甚至重复执行一些代码行.让我们来看一些例子. 1.7.1 if-else语句块 if-else语句

《Android游戏开发详解》一1.7 控制流程第1部分——if和else语句

1.7 控制流程第1部分--if和else语句 Android游戏开发详解 我们现在把注意力转向控制流程(control flow ,也称为流程控制,flow control),这指的是代码行将要按照什么样的顺序执行.还记得代码执行的基本规则吧,它是说代码要从上到下地执行.在最简单的程序中,代码真的是按照线性方式从上向下执行的.然而,在任何有用的程序中,我们可能会看到,根据某些条件,会跳过一些代码行甚至重复执行一些代码行.让我们来看一些例子. 1.7.1 if-else语句块 if-else语句

《Android游戏开发详解》一2.19 使用字符串

2.19 使用字符串 Android游戏开发详解让我们通过使用熟悉的一个类String,来练习一下如何使用Java文档.创建一个名为FunWithStrings的新的Java项目,并且创建一个名为StringTester的.带有main方法的新的类,如程序清单2.18所示. 程序清单2.18 StringTester.java--空的版本 01 public class StringTester { 02 03 public static void main(String[] args) { 0

《Android游戏开发详解》一2.15 改进程序

2.15 改进程序 Android游戏开发详解让我们记住上面的原理,并且努力地改进程序.首先,添加一个内建的Java关键字private作为所有Phone对象的变量的修饰符,如程序清单2.14第4行到第7行所示. 程序清单2.14 隐藏Phone类中的变量 01 public class Phone { 02 03 // These variables describe the Phone object's state 04 private boolean poweredOn; 05 priva

《Android游戏开发详解》一2.9 类

2.9 类 Android游戏开发详解图2-19所示的一个对象框架,如何将其转换为Java代码呢?使用类(class).我们已经创建了很多类,但是,还没有介绍什么是类. 类提供了一个模板,以供创建Java对象.常用的类比把类描述为一个蓝图.如下是一个Phone类的样子. 程序清单2.8 Phone类的一个示例 01 public class Phone { 02 03 // These variables describe the Phone object's state 04 boolean

《Android游戏开发详解》一导读

前言Android游戏开发详解作为对编程知之甚少或者毫无所知的初学者,开始学习Android游戏开发,可能会觉得就像是穿越陌生的星际的旅程.有太多的事情要尝试,太多的知识要学习,令人遗憾的是,还有如此之多的方式令人陷入迷途. 究其原因之一,可能是Android游戏开发给人以很简单的错觉.这个术语给人的感觉是,只需要学习和掌握一个主题就够了,实际上,Android游戏开发包括各种不同的主题,其中的一些如下所示. 编程基础: Java编程语言: 面向对象设计原理: 游戏开发: 代码优化: Andro