第四章 类、对象和方法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章 类、对象和方法
循环语句while、do-while、for的区别是什么?
回顾
写出运行结果
int i = 0, j = 0; while(i<7){
if(j>4){ System.out.println("**"); i++; continue;
} System.out.println("*"); j++; i++; }
return "这是一个" + getColor() + "的玩具狮子!" ;
} }
演示示例2:设置断点演示方法调用执行过程
方法调用小结
➢方法之间允许相互调用,不需要知道方法的具体实现,提高了效 率
情况
举例
1、类Student 的方法a()调用Student类 public void a(){
的方法b(),直接调用
方法: 发动 停止 加速
➢列出小狗对象的属性和方法
属性: 颜色:白色
方法: 叫 跑 吃
➢说一说教室里的对象 ➢描述他们的属性和方法
颜色:黑色 品牌:BENQ 投影
小结
姓名:张三 年龄:20 学习
材制: 木质 支撑物品
类型:白炽灯 开 关 变亮 变暗
封装
➢对象同时具有属性和方法两项特性 ➢对象的属性和方法通常被封装在一起,共同体现事物的特性, 二者
方法名称
public void run(){ System.out.println("正在以0.1米/秒的速度向前奔跑");
}
public String bark(){ String sound = "吼" ; return sound;
} }
方法体
如何定义类的方法
➢ 类的方法定义类的某种行为(或功能)
public class HelloYuntu { public static void main(String[ ] args) { System.out.println("使用Java语言理解程序逻辑"); … }
}
➢类将现实世界中的概念模拟到计算机程序中
public class 类名 { //定义属性部分 属性1的类型 属性1; 属性2的类型 属性2; … 属性n的类型 属性n;
演示示例1:使用Eclipse创建YuntuSchool类框架
类示例2-2
成员变量
public class YuntuSchool {
//定义云图智联中心的属性
String schoolName; // 中心的全称
int classNum;
//教室的数目
int labNum;
//机房的数目
// 定义云图智联中心的方法 public void showCenter() {
➢类和对象有什么区别呢?
➢类是抽象的概念,仅仅是模板,比如说:“人” ➢对象是一个你能够看得到、摸得着的具体实体,比如:“小布什”
“人”类
特征(属性)
年龄 体重
行为(方法)
衣 食 住 行
小布什 普京 克林顿 ……
Java 是面向对象的语言
➢所有Java程序都以类class为组织单元 ➢关键字class定义自定义的数据类型
常见错误2-2
public class Student{ public double getInfo(){ double weight = 95.5; double height = 1.69; return weight, height; }
}
方法至多可以返回一个值, 不能返回多个值
方法调用
➢方法是个“黑匣子”,完成某个特定的应用程序功能,并返回结果 ➢方法调用:执行方法中包含的语句
方法的名称
方法返回的数据类型
方法的定义
方法的主体
定义类的方法
public 返回值类型 方法名() { //这里编写方法的主体
}
步骤一:定义方 法名以及返回值
步骤二:编写方 法体
方法的命名
➢如何给方法起名字?
➢必须以字母、‘_’或‘$’开头 ➢可以包括数字,但不能以它开头
➢遵循的命名规范
➢通常方法名是一个动词,如果有两个以上单词组成,第一个单词的首字母 小写,其后单词首字母大写
return schoolName + "培训Yuntu学员" + "\n" + "配备:"+ classNum + "教" + labNum + "机";
}
}
定义类的showCenter()方法, 用于输出类相关的信息
代码错误
public class .Book { String bookName; String authorName; int pageNum; boolean isAvailable;
➢ 给类的属性赋值:对象名.属性 ➢ 调用类的方法:对象名.方法名()
center.schoolName = "北京中心"; //给属性赋值
center.showCenter(); 执行
//调用类的方法,该方法中的操作将被
创建和使用对象示例
创建“北京中心”对象
public class InitialYuntuSchool {
//定义方法部分 方法1; 方法2;
… 方法m; }
Java类模板
➢定义一个类的步骤
1、定义类名 2、编写类的属性 3、编写类的方法
定义类
类示例2-1
云图智联在不同培训中心(北京中心,九江中心等),你 会感受到相同的环境和教学氛围,用类的思想输出Yuntu 中心信息
YuntuSchool类 属性: 全称 教室数目 机房数目 方法: 展示中心信息
b(); //调用b()
}
2、类Student的方法a()调用类Teacher public void a(){
的方法b(),先创建类对象,然后使用“.” 调用
Teacher t = new Teacher(); t.b(); //调用Teacher类的b()
}
变量作用域3-1
public class AutoLion { String color = "黄色";
public void run(){ //方法1:跑 System.out.println("正在以0.1米/秒的速度向前奔跑。");
}
public String bark(){ //方法2:叫 String sound = "吼" ; return sound;
}
public String getColor(){ //方法3:获得颜色属性 return color ;
*
输出
*
*
*
*
**
**
本章任务
以OO方式实现: ➢ YunTu学校类,描述YunTuSchool中心基本信息 ➢ 学生类,输出学生信息 ➢ 教员类,输出教员信息 ➢ 计算并显示总成绩 ➢ 计算并显示平均成绩
➢ 实现客户信息的添加和查询 ➢ 实现图形生成器 ➢ 实现模拟账户存取款功能
本章任务
➢掌握类和对象的特征 ➢理解封装 ➢会创建和使用对象 ➢会定义和使用类无参和带参方法 ➢理解变量作用域 ➢会创建包组织Java工程 ➢会添加类方法的JavaDoc注释 ➢会阅读JavaSE6文档 ➢使用String类提供的方法处理字符串
相辅相承,不能分割
谁看见过只有“完好 的零件和颜色”而不
能开动的汽车?
从对象抽象出“类”
抽取出下列对象的属性和方法的共同特征
顾客
类
顾客类 轿车类
…… ……
类是模子,确定对象将会拥有的 特征(属性)和行为(方法)
➢类是对象的类型 ➢不同于int类型:具有方法
球状冰淇淋模子
各种口味的球状冰淇淋
小结
}
常见错误
类命名规则:
1、不能使用Java关键字 2、首字母可以为字母,也可以是“_”或“$ ”(建议不要这 样) 3、不能包含空格或“.”号
如何创建和使用对象
➢使用对象的步骤:
➢使用new创建类的一个对象
YuntuSchool center = new YuntuSchool();
➢使用对象:使用“.”进行以下操作
演示示例3:创建和使用类和对象
面向对象(OO)的优点
➢便于程序模拟现实世界中的实体
➢用“类”表示实体的特征和行为
➢隐藏细节
➢对象的行为和属性被封装在类中,外界通过调用类的方法来获得,不需关注 内部细节如何实现
➢可重用
➢可以通过类的模板,创建多个类的对象
数据类型总结
int double char
基本数据类型
本章目标
➢世界是由什么组成的?
名胜
物品
万物皆对象
动物 ,植物…… 人
布兰尼
姓名:布兰尼 职衔:收银员 年龄:35 体重:60千克
操作: 收款 打印账单
身边的对象
朱丽叶
顾客 姓名:朱丽叶 年龄:28 体重:52千克 操作: 购买商品
对象的特征——属性
➢属性——对象具有的各种特征 ➢每个对象的每个属性都拥有特定值
方法的返回值
➢两种情况
➢如果方法具有返回值,方法中必须使用关键字return返回该值,返回类型 为该返回值的类型
return 表达式; ➢如果方法没有返回值,返回类型为void
public class Student{ String name = "张三"; public void getName(){
说一说看到 什么效果?
public static void main(String[ ] args){ YuntuSchool center = new YuntuSchool();
System.out.println(center.showCenter());
center.schoolName = "北京中心"; center.classNum = 10; center.labNum = 10;
public String bark(){ //方法2:叫 String sound = "吼" ; return sound;
}
public String getColor(){ //方法3:获得颜色属性
return color; }
在类的方法中调用 该类另一个方法
public String showLion() { //方法4:描述狮子特性
对象名.方法名();
小明过生日,爸爸送他一个电动狮子玩具,编程 测试这个狮子能否正常工作
演示示例1:演示运行效果
public class TestLion {
方法调用
public static void main(String[ ] args) {
public class AutoLion { String color = "黄色";
➢例如:布兰尼和朱丽叶的体重不一样
布兰尼
收银员布兰尼
60kg
属性
35岁
➢方法——对象执行的操作
对象的特征——方法
收银员布兰尼
收银 打单 刷卡
方法
对象的属性和方法
➢列出尼古拉斯·凯奇驾驶的这辆法拉利F360 Spider的属性和 方法
属性: 品牌:法拉利 型号:F360 Spider 颜色:黄色 价格:380万元
String 使用class定义的类型
Student Teacher YuntuSchool 数组
引用数据类型
按此按钮, 狮子开始跑
类的方法
➢写出狮子对象的“跑”方法 ➢写出狮子对象的“叫”方法
电动玩具狮子 属性: 颜色:黄色
行为: 跑 叫
类的方法示例
AutoLion类代码实现
public class Au返to回Lio类n型{ String color = "黄色";
System.out.println(center.showCenter()); } }
演示示例2:创建和使用对象
综合案例
➢编写学生类,输出学生相关信息 ➢编写教员类,输出教员相关信息
学生类
属性: 姓名 年龄 参加的课程 兴趣
方法: 显示学员个人信息
教员类
属性: 姓名 专业方向 教授的课程 教龄
方法: 显示教员个人信息
return name;
编译错误
} …… }
返回类型要匹配
常见错误2-1
public class YuntuSchool{ …… public static void main(String[ ] args){ …… return "云图智联北京中心! "; }
}
返回类型是void 方法中不能有返回值
AutoLion lion = new AutoLion(); System.out.println(lion.showLion()); lion.run();
p}ublicSvyositdemru.no(u)t{.prin}/t/l方n}(法"正1S:在y跑以ste0m.1.米ou/秒t.p的ri速nt度ln(向lio前n在奔.bma跑rak。i(n)")(;));方法中 调用类的方法
}
可以调用吗?
ຫໍສະໝຸດ Baidu
public String showLion() { //方法4:输出类的描述信息 return "这是一个" + getColor() + "的玩具狮子!叫声是" + sound ;
循环语句while、do-while、for的区别是什么?
回顾
写出运行结果
int i = 0, j = 0; while(i<7){
if(j>4){ System.out.println("**"); i++; continue;
} System.out.println("*"); j++; i++; }
return "这是一个" + getColor() + "的玩具狮子!" ;
} }
演示示例2:设置断点演示方法调用执行过程
方法调用小结
➢方法之间允许相互调用,不需要知道方法的具体实现,提高了效 率
情况
举例
1、类Student 的方法a()调用Student类 public void a(){
的方法b(),直接调用
方法: 发动 停止 加速
➢列出小狗对象的属性和方法
属性: 颜色:白色
方法: 叫 跑 吃
➢说一说教室里的对象 ➢描述他们的属性和方法
颜色:黑色 品牌:BENQ 投影
小结
姓名:张三 年龄:20 学习
材制: 木质 支撑物品
类型:白炽灯 开 关 变亮 变暗
封装
➢对象同时具有属性和方法两项特性 ➢对象的属性和方法通常被封装在一起,共同体现事物的特性, 二者
方法名称
public void run(){ System.out.println("正在以0.1米/秒的速度向前奔跑");
}
public String bark(){ String sound = "吼" ; return sound;
} }
方法体
如何定义类的方法
➢ 类的方法定义类的某种行为(或功能)
public class HelloYuntu { public static void main(String[ ] args) { System.out.println("使用Java语言理解程序逻辑"); … }
}
➢类将现实世界中的概念模拟到计算机程序中
public class 类名 { //定义属性部分 属性1的类型 属性1; 属性2的类型 属性2; … 属性n的类型 属性n;
演示示例1:使用Eclipse创建YuntuSchool类框架
类示例2-2
成员变量
public class YuntuSchool {
//定义云图智联中心的属性
String schoolName; // 中心的全称
int classNum;
//教室的数目
int labNum;
//机房的数目
// 定义云图智联中心的方法 public void showCenter() {
➢类和对象有什么区别呢?
➢类是抽象的概念,仅仅是模板,比如说:“人” ➢对象是一个你能够看得到、摸得着的具体实体,比如:“小布什”
“人”类
特征(属性)
年龄 体重
行为(方法)
衣 食 住 行
小布什 普京 克林顿 ……
Java 是面向对象的语言
➢所有Java程序都以类class为组织单元 ➢关键字class定义自定义的数据类型
常见错误2-2
public class Student{ public double getInfo(){ double weight = 95.5; double height = 1.69; return weight, height; }
}
方法至多可以返回一个值, 不能返回多个值
方法调用
➢方法是个“黑匣子”,完成某个特定的应用程序功能,并返回结果 ➢方法调用:执行方法中包含的语句
方法的名称
方法返回的数据类型
方法的定义
方法的主体
定义类的方法
public 返回值类型 方法名() { //这里编写方法的主体
}
步骤一:定义方 法名以及返回值
步骤二:编写方 法体
方法的命名
➢如何给方法起名字?
➢必须以字母、‘_’或‘$’开头 ➢可以包括数字,但不能以它开头
➢遵循的命名规范
➢通常方法名是一个动词,如果有两个以上单词组成,第一个单词的首字母 小写,其后单词首字母大写
return schoolName + "培训Yuntu学员" + "\n" + "配备:"+ classNum + "教" + labNum + "机";
}
}
定义类的showCenter()方法, 用于输出类相关的信息
代码错误
public class .Book { String bookName; String authorName; int pageNum; boolean isAvailable;
➢ 给类的属性赋值:对象名.属性 ➢ 调用类的方法:对象名.方法名()
center.schoolName = "北京中心"; //给属性赋值
center.showCenter(); 执行
//调用类的方法,该方法中的操作将被
创建和使用对象示例
创建“北京中心”对象
public class InitialYuntuSchool {
//定义方法部分 方法1; 方法2;
… 方法m; }
Java类模板
➢定义一个类的步骤
1、定义类名 2、编写类的属性 3、编写类的方法
定义类
类示例2-1
云图智联在不同培训中心(北京中心,九江中心等),你 会感受到相同的环境和教学氛围,用类的思想输出Yuntu 中心信息
YuntuSchool类 属性: 全称 教室数目 机房数目 方法: 展示中心信息
b(); //调用b()
}
2、类Student的方法a()调用类Teacher public void a(){
的方法b(),先创建类对象,然后使用“.” 调用
Teacher t = new Teacher(); t.b(); //调用Teacher类的b()
}
变量作用域3-1
public class AutoLion { String color = "黄色";
public void run(){ //方法1:跑 System.out.println("正在以0.1米/秒的速度向前奔跑。");
}
public String bark(){ //方法2:叫 String sound = "吼" ; return sound;
}
public String getColor(){ //方法3:获得颜色属性 return color ;
*
输出
*
*
*
*
**
**
本章任务
以OO方式实现: ➢ YunTu学校类,描述YunTuSchool中心基本信息 ➢ 学生类,输出学生信息 ➢ 教员类,输出教员信息 ➢ 计算并显示总成绩 ➢ 计算并显示平均成绩
➢ 实现客户信息的添加和查询 ➢ 实现图形生成器 ➢ 实现模拟账户存取款功能
本章任务
➢掌握类和对象的特征 ➢理解封装 ➢会创建和使用对象 ➢会定义和使用类无参和带参方法 ➢理解变量作用域 ➢会创建包组织Java工程 ➢会添加类方法的JavaDoc注释 ➢会阅读JavaSE6文档 ➢使用String类提供的方法处理字符串
相辅相承,不能分割
谁看见过只有“完好 的零件和颜色”而不
能开动的汽车?
从对象抽象出“类”
抽取出下列对象的属性和方法的共同特征
顾客
类
顾客类 轿车类
…… ……
类是模子,确定对象将会拥有的 特征(属性)和行为(方法)
➢类是对象的类型 ➢不同于int类型:具有方法
球状冰淇淋模子
各种口味的球状冰淇淋
小结
}
常见错误
类命名规则:
1、不能使用Java关键字 2、首字母可以为字母,也可以是“_”或“$ ”(建议不要这 样) 3、不能包含空格或“.”号
如何创建和使用对象
➢使用对象的步骤:
➢使用new创建类的一个对象
YuntuSchool center = new YuntuSchool();
➢使用对象:使用“.”进行以下操作
演示示例3:创建和使用类和对象
面向对象(OO)的优点
➢便于程序模拟现实世界中的实体
➢用“类”表示实体的特征和行为
➢隐藏细节
➢对象的行为和属性被封装在类中,外界通过调用类的方法来获得,不需关注 内部细节如何实现
➢可重用
➢可以通过类的模板,创建多个类的对象
数据类型总结
int double char
基本数据类型
本章目标
➢世界是由什么组成的?
名胜
物品
万物皆对象
动物 ,植物…… 人
布兰尼
姓名:布兰尼 职衔:收银员 年龄:35 体重:60千克
操作: 收款 打印账单
身边的对象
朱丽叶
顾客 姓名:朱丽叶 年龄:28 体重:52千克 操作: 购买商品
对象的特征——属性
➢属性——对象具有的各种特征 ➢每个对象的每个属性都拥有特定值
方法的返回值
➢两种情况
➢如果方法具有返回值,方法中必须使用关键字return返回该值,返回类型 为该返回值的类型
return 表达式; ➢如果方法没有返回值,返回类型为void
public class Student{ String name = "张三"; public void getName(){
说一说看到 什么效果?
public static void main(String[ ] args){ YuntuSchool center = new YuntuSchool();
System.out.println(center.showCenter());
center.schoolName = "北京中心"; center.classNum = 10; center.labNum = 10;
public String bark(){ //方法2:叫 String sound = "吼" ; return sound;
}
public String getColor(){ //方法3:获得颜色属性
return color; }
在类的方法中调用 该类另一个方法
public String showLion() { //方法4:描述狮子特性
对象名.方法名();
小明过生日,爸爸送他一个电动狮子玩具,编程 测试这个狮子能否正常工作
演示示例1:演示运行效果
public class TestLion {
方法调用
public static void main(String[ ] args) {
public class AutoLion { String color = "黄色";
➢例如:布兰尼和朱丽叶的体重不一样
布兰尼
收银员布兰尼
60kg
属性
35岁
➢方法——对象执行的操作
对象的特征——方法
收银员布兰尼
收银 打单 刷卡
方法
对象的属性和方法
➢列出尼古拉斯·凯奇驾驶的这辆法拉利F360 Spider的属性和 方法
属性: 品牌:法拉利 型号:F360 Spider 颜色:黄色 价格:380万元
String 使用class定义的类型
Student Teacher YuntuSchool 数组
引用数据类型
按此按钮, 狮子开始跑
类的方法
➢写出狮子对象的“跑”方法 ➢写出狮子对象的“叫”方法
电动玩具狮子 属性: 颜色:黄色
行为: 跑 叫
类的方法示例
AutoLion类代码实现
public class Au返to回Lio类n型{ String color = "黄色";
System.out.println(center.showCenter()); } }
演示示例2:创建和使用对象
综合案例
➢编写学生类,输出学生相关信息 ➢编写教员类,输出教员相关信息
学生类
属性: 姓名 年龄 参加的课程 兴趣
方法: 显示学员个人信息
教员类
属性: 姓名 专业方向 教授的课程 教龄
方法: 显示教员个人信息
return name;
编译错误
} …… }
返回类型要匹配
常见错误2-1
public class YuntuSchool{ …… public static void main(String[ ] args){ …… return "云图智联北京中心! "; }
}
返回类型是void 方法中不能有返回值
AutoLion lion = new AutoLion(); System.out.println(lion.showLion()); lion.run();
p}ublicSvyositdemru.no(u)t{.prin}/t/l方n}(法"正1S:在y跑以ste0m.1.米ou/秒t.p的ri速nt度ln(向lio前n在奔.bma跑rak。i(n)")(;));方法中 调用类的方法
}
可以调用吗?
ຫໍສະໝຸດ Baidu
public String showLion() { //方法4:输出类的描述信息 return "这是一个" + getColor() + "的玩具狮子!叫声是" + sound ;