首页
学习
活动
专区
工具
TVP
发布

面向对象的编程-Application 2

Previously on OOP:

In the last article, we have stressed the importance of both“Application”lessons and practice with Eclipse. Furthermore, the first project has been created, whose name is FirstExample.

在正式开始与本课程内容有关的编程之前,我们首先测试一下“Hello World”,以证明Eclipse中的编译器的配置没有问题。

在FirstExample project之外,我们再创建一个名字叫做“HelloWorld”的新项目。然后,在这个项目的名称上鼠标右击,选择新建一个Class。在Class创建的过程中,必须回答以下几个问题:

(1)Class的名称是什么?我们把这个类命名为“Hello”。

在同一个package中,所有Class的名称都必须各不相同,而且首字母必须全部大写。因为我们刚才没有新建package,所以此时创建的类都会被放入default package中。

而default package是不推荐使用的,因为在import file的时候,必须要指明类处于哪一个自定义的package中。这一点我们先选择性忽略,因为现在只是做一个非常简单的测试。

(2)Class中是否需要自动生成一个main函数?我们选择“要”。

这样,Eclipse就会创建一个带有main函数的、名字叫做“Hello”的类,显示在Eclipse的中间操作区域,如下所示:

假如没有选择“自动创建main函数”,那么中间的三行就不会出现,页面中只有“public class Hello”和两个花括号。当然,我们自己补上main函数的函数头也是可以的。

在显示代码的区域中,颜色非常丰富,这是为了提高代码的可读性,增加程序员的工作效率。颜色的配置是可以在“首选项”中修改的。而本文中代码的配色方案与Notepad++相同,因为本黄鸭一般都使用Notepad++来打开代码~函数头中的关键字用紫色,函数体中的关键字用蓝色,注释用绿色,新增的代码用红色标出。

在自动生成的main函数中,会自带一行注释:“TODO Auto-generated method stub”,说明这个main函数是自动生成的,函数体需要开发者来填写。这个main函数接受的参数是在command line中输入的参数的数组。不过,在本课程中,编写和运行main函数的机会少之又少,因为考试只看test cases的代码有没有全部通过。即便是运行main函数,也是100%用点击Eclipse中的运行按钮,不会使用到命令行。

下面,我们在main函数的函数体中写一行代码,打印“Hello World!”字符串,如下所示:

此时再编译和运行代码,就会在Eclipse界面的左边或者下面的pane中看到打印出来的两个日语版的字符串。假如编译不通过或者字符串打印不出来,那么不是编译器的配置不对,就是环境变量不对,问题就变得比较棘手了。如果真的不幸遇到了这样的问题,那么请百度、重装一个英文版的Eclipse、把Workspace的路径名称全部改成英语,etc。

当然,绝大部分同学的电脑应该是可以打印程序中的字符串的。然后,关于Eclipse使用的comments:

(1)自动补全功能。开发者用键盘输入部分字符,然后按键盘上的control + space,即可自动补全。

(2)自动调整代码的格式。在输入代码区域内的任意位置,右击鼠标,先选“Source”,再选“Format”即可让代码自动换行。在都灵理工大学的考试中,先在考场上提交代码,然后回家把代码改到所有的test cases全都能通过,最后在评分的时候会看修改的代码和考场上的代码有多少行的差别。所以,有的人自以为聪明,就把好多好多代码全部打在一行里面,以为可以在最后环节降低差异的代码数量。但是这些人想法是错误的,因为code comparison之前,会先做format。

(3)行末尾的分号不要忘记,否则编译不过。编译是运行的基础,如果不能编译,那么百分之一千不能运行。在都灵理工的考试中,因为每次参加考试的人都很多,所以有一个残酷的事实:凡是考试当场提交的代码编译不过,一律算作挂科。

(4)Debug。将来我们的程序会更加复杂,有的会出现编译不过,那么具体是什么问题会由编译器来告诉我们。还有的运行有问题,运行会死机,运行的结果不是我们想要的结果,etc,那么问题到底出现在哪里就没有谁能直接告诉我们了,必须靠我们自己发现。

发现的途径主要有三种:第一种是根据编写代码的顺序,从头到尾依次查看;第二种是让程序能输出一些特有的字符串,看程序运行到了那里,进入了if的哪一个分支;第三种,用debug。

使用debug的步骤如下:toggle breakpoint => Run => Debug as => java application。In order to return from debug, click “Java”.

Debug在软件开发中非常有用,对于死机问题基本上能一击即中。但是在本课程中,最推荐的是第二种方法,即用输出字符串的方式来看程序运行到了哪里。

除了以上4条之外,有可能还会有其他的comments,我们边学边补充。然后,我们测试一下object creation,创建一个Calculation类型的实例,名字叫做calObject,代码如下所示:

这时候编译器会报错,说找不到Calculation类,建议是import Calculation类。Compiler描述的问题是正确的,但是给出的建议是错误的,因为我们现在没有Calculation类定义在别的package中。所以,解决compiler error的方法是再创建一个Calculation类。

欲知Calculation类中如何,且听下回分解。

欢迎使用本黄鸭编写的小程序~

微信公众号二维码:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180919G1DBXJ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券