当前课程知识点:“做中学”Java程序设计 >  第3章使用面向对象基础语法 >  3.6构造方法 >  Video

返回《“做中学”Java程序设计》慕课在线视频课程列表

Video在线视频

Video

下一节:Video

返回《“做中学”Java程序设计》慕课在线视频列表

Video课程教案、知识点、字幕

构造方法是用来创建对象

并且初始化对象信息的一个特殊方法

今天我们就一起来认识下构造方法

在前面的任务中我们创建了一个time类

可以使用new语法来创建一个time对象

比如这段代码

为了便于理解这条语句的作用我们可以将这条语句等价的分解成如下两条语句

第一条语句根据类time定义一个引用变量 取名为t

第2条语句能通过new关键字 创建一个time对象

我们通过赋值语句

将新建的对象赋值给的t引用变量这时候引用变量就真正引入了该新建的对象

将来可以通过这个引用变量对这个对象的进行访问和操作

这里用来创建对象的语法就遇到了我们今天要介绍的构造方法

所谓构造方法它是一种特殊的方法

主要用来构造对象

那么前面我们没有定义任何的构造方法

怎么就能创建时间对象的呢

是这样 对于一个新建的类

如果用户没有定义任何自定义的构造方法Java会非常人性化的提供一个不带任何参数的默认构造方法

这就是我们为什么能直接用new语法创建time对象的原因

需要注意的是 在运行时 第一个时间对象输出的值都是0

这就意味着 该对象的时分秒 实例变量的值他们都是0

尽管我们没有显示的对这些实例变量进初始化

请大家记住实例变量如果没有初始化Java那将会根据他们的数据类型自动的进行初始化

这里有给出了实例变量的初始化表

基本数据类型 会初始化为相应的值

除此之外的所有引用变量将初始化为new

如果我们对hour minute的实例变量分别初始化为8 15

然后我们将App当中相关赋值语句注释掉

你会发现对象打印出来的信息已经自动了初始化成了8点15分

在实际应用当中我们会更多的将这些初始化

实例变量的语句添加到构造方法当中

以便进行统一的管理和维护

要定义一个构造方法需要满足够的方法的语法

首先各个方法的方法名必须和类名保持相同

这里的相同包括大小写也必须保持一致

其次构造方法没有任何返回值

最后那构造方法只能在创建对象的时候被调用

下面我们为time类

添加一个可以由用户指定时分秒的构造方法

你可以这样写

构造方法首先是没有返回值的

他的方法名必须和类名相同

那么我们这里的类似是time

你就必须写成time

这里我们需要传递用户指定的时分秒三个数据

我们将他们作为三个参数

在构造方法当中

我们将它们保存到实例变量当中去

这个需要特别注意的是

由于构造方法的形式参数与实例变量名相同

为了区别他们

在引用实例变量时这里的this引用变量就不可以省略了

这样就比较好区分了

这里赋值语句左侧的this.hour表示实例变量

而右侧呢hour 表示形式参数

好了构造方法定好了

接下去我们来看如何去调用他们

那么需要注意的是一旦用户定义的自定义的构造方法

Java将不再提供默认的构造方法

你看这里原本正确的不带参数的构造方法现在报错了

他提示该不带参数的构造方法

已经成了一个未定义的构造方法

好 现在我们可以在创建时间对象的同时

传入自己希望得到的时间对象信息

比如我想得到一个

晚上 20点15分的时间对象

我就可以把 20 15

作为参数传递给它

最后我们还需要知道的是

在既有实例变量初始化语句

又有构造方法的情况下

在创建一个时间对象时这些语句的执行顺序应该是什么样的呢

为了观察他们的执行顺序

我们这里介绍一个

调试工具的使用

你可以在行号之前双击鼠标

设置一个断点在调试模式下程序运行到断点位置时将会暂停

要启动调试模式我们只需要选择工具栏上的小爬虫图标

Eclipse将提示

是否要切换到调试透视图

透视图是一个相关视图的集合

我们单击是就可以切换到调试透视图

这将打开跟调试相关的视图窗口你会发现程序已经在app的第6行暂停下来

为了观察初始化的过程我们在构造方法的第5行 第9行的位置 继续添加2个断点

单击工具栏上的播放按钮继续运行我们发现程序在执行构造方法之前

首先 执行了第5行

对所有的实例变量进行初始化

然后再执行第10到12行构造方法的内部语句

所以我们可以得出这样结论

Java在创建对象时

总是先执行实例变量的初始化然后再执行构造方法的内部语句

好了

今天我们就学到这里

还不赶快试试

在今天课程当中

我们重点学习了Java构造方法的写法

以及它的应用

你还需要重点

了解在创建Java对象时

初始化这些对象的过程

以及它们的先后顺序

“做中学”Java程序设计课程列表:

第1章初始Java

-1.1Java简介

--01Java简介

-1.2搭建Java开发环境

--Video

-1.3使用记事本编写Java程序

--Video

-1.4使用Eclipse开发Java程序

--Video

-1.5导入/导出Java项目

--Video

-1.6管理组织代码

--Video

-第1章初始Java--测试题

第2章使用Java基本语法(1)

-2.1认识标识符

--Video

-2.2变量和变量类型

--Video

-2.3数据类型和类型转换

--Video

-2.4使用常量

--Video

-2.5使用注释

--Video

-2.6使用运算符进行算术运算

--Video

-第2章使用Java基本语法(1)--测试题

第2章使用Java基本语法(2)

-2.7使用运算符进行逻辑处理

--Video

-2.8使用if进行流程控制

--Video

-2.9使用switch进行流程控制

--使用switch进行流程控制

-2.10使用循环

--Video

-2.11循环的跳出和继续

--Video

-2.12多重循环

--Video

-第2章使用Java基本语法(2)--测试题

第3章使用面向对象基础语法

-3.1认识类和对象

--Video

-3.2为类添加属性

--Video

-3.3为类添加方法

--Video

-3.4为类添加静态方法

--Video

-3.5递归方法

--递归方法

-3.6构造方法

--Video

-3.7重载方法

--Video

-第3章使用面向对象基础语法--测试题

第4章使用面向对象高级语法

-4.1使用继承语法

--Video

-4.2使用数组

--Video

-4.3使用数组类操作数组

--Video

-4.4使用抽象类

--Video

-4.5使用接口

--Video

-第4章使用面向对象高级语法--测试题

第5章捕获并处理异常

-5.1异常处理机制

--Video

-5.2捕获异常

--Video

-5.3创建自定义异常

--Video

-第5章捕获并处理异常--测试题

第6章使用SWT设计界面

-6.1SWT图形界面

--Video

-6.2使用SWT布局管理-FillLayout

--使用SWT布局管理-FillLayout

-6.3使用SWT布局管理-RowLayout

--使用SWT布局管理-RowLayout

-6.4SWT中的事件模型

--Video

-6.5常见事件处理写法

--Video

-第6章使用SWT设计界面--测试题

第7章微波炉模拟程序

-7.1微波炉模拟程序的界面制作

--Video

-7.2微波炉模拟程序的代码重构

--Video

-7.3微波炉模拟程序的事件监听

--Video

-7.4微波炉模拟程序的数字键盘

--Video

-7.6微波炉模拟程序CookTimer

--Video

-7.7微波炉模拟程序添加图像

--Video

-7.8微波炉模拟程序添加声音

--Video

-7.9微波炉模拟程序安装包制作

--Video

Video笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。