第四章 类、对象和方法
方法的名称
方法返回的数据类型
方法的定义
方法的主体
定义类的方法
public 返回值类型 方法名() { //这里编写方法的主体
}
步骤一:定义方 法名以及返回值
步骤二:编写方 法体
方法的命名
➢如何给方法起名字?
➢必须以字母、‘_’或‘$’开头 ➢可以包括数字,但不能以它开头
➢遵循的命名规范
➢通常方法名是一个动词,如果有两个以上单词组成,第一个单词的首字母 小写,其后单词首字母大写
演示示例3:创建和使用类和对象
面向对象(OO)的优点
➢便于程序模拟现实世界中的实体
➢用“类”表示实体的特征和行为
➢隐藏细节
➢对象的行为和属性被封装在类中,外界通过调用类的方法来获得,不需关注 内部细节如何实现
➢可重用
➢可以通过类的模板,创建多个类的对象
数据类型总结
int double char
基本数据类型
System.out.println(center.showCenter()); } }
演示示例2:创建和使用对象
综合案例
➢编写学生类,输出学生相关信息 ➢编写教员类,输出教员相关信息
学生类
属性: 姓名 年龄 参加的课程 兴趣
方法: 显示学员个人信息
教员类
属性: 姓名 专业方向 教授的课程 教龄
方法: 显示教员个人信息
➢ 给类的属性赋值:对象名.属性 ➢ 调用类的方法:对象名.方法名()
center.schoolName = "北京中心"; //给属性赋值
center.showCenter(); 执行
//调用类的方法,该方法中的操作将被
创建和使用对象示例
创建“北京中心”对象
public class InitialYuntuSchool {
*
输出
*
*
*
*
**
**
本章任务
以OO方式实现: ➢ YunTu学校类,描述YunTuSchool中心基本信息 ➢ 学生类,输出学生信息 ➢ 教员类,输出教员信息 ➢ 计算并显示总成绩 ➢ 计算并显示平均成绩
➢ 实现客户信息的添加和查询 ➢ 实现图形生成器 ➢ 实现模拟账户存取款功能
本章任务
➢掌握类和对象的特征 ➢理解封装 ➢会创建和使用对象 ➢会定义和使用类无参和带参方法 ➢理解变量作用域 ➢会创建包组织Java工程 ➢会添加类方法的JavaDoc注释 ➢会阅读JavaSE6文档 ➢使用String类提供的方法处理字符串
相辅相承,不能分割
谁看见过只有“完好 的零件和颜色”而不
能开动的汽车?
从对象抽象出“类”
抽取出下列对象的属性和方法的共同特征
顾客
类
顾客类 轿车类
…… ……
类是模子,确定对象将会拥有的 特征(属性)和行为(方法)
➢类是对象的类型 ➢不同于int类型:具有方法
球状冰淇淋模子
各种口味的球状冰淇淋
小结
说一说看到 什么效果?
public static void main(String[ ] args){ YuntuSchool center = new YuntuSchool();
System.out.println(center.showCenter());
center.schoolName = "北京中心"; center.classNum = 10; bNum = 10;
对象名.方法名();
小明过生日,爸爸送他一个电动狮子玩具,编程 测试这个狮子能否正常工作
演示示例1:演示运行效果
public class TestLion {
方法调用
public static void main(String[ ] args) {
public class AutoLion { String color = "黄色";
➢类和对象有什么区别呢?
➢类是抽象的概念,仅仅是模板,比如说:“人” ➢对象是一个你能够看得到、摸得着的具体实体,比如:“小布什”
“人”类
特征(属性)
年龄 体重
行为(方法)
衣 食 住 行
小布什 普京 克林顿 ……
Java 是面向对象的语言
➢所有Java程序都以类class为组织单元 ➢关键字class定义自定义的数据类型
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 = "黄色";
方法的返回值
➢两种情况
➢如果方法具有返回值,方法中必须使用关键字return返回该值,返回类型 为该返回值的类型
return 表达式; ➢如果方法没有返回值,返回类型为void
public class Student{ String name = "张三"; public void getName(){
String 使用class定义的类型
Student Teacher YuntuSchool 数组
引用数据类型
按此按钮, 狮子开始跑
类的方法
➢写出狮子对象的“跑”方法 ➢写出狮子对象的“叫”方法
电动玩具狮子 属性: 颜色:黄色
行为: 跑 叫
类的方法示例
AutoLion类代码实现
public class Au返to回Lio类n型{ String color = "黄色";
}
可以调用吗?
public String showLion() { //方法4:输出类的描述信息 return "这是一个" + getColor() + "的玩具狮子!叫声是" + sound ;
return "这是一个" + getColor() + "的玩具狮子!" ;
} }
演示示例2:设置断点演示方法调用执行过程
方法调用小结
➢方法之间允许相互调用,不需要知道方法的具体实现,提高了效 率
情况
举例
1、类Student 的方法a()调用Student类 public void a(){
的方法b(),直接调用
return schoolName + "培训Yuntu学员" + "\n" + "配备:"+ classNum + "教" + labNum + "机";
}
}
定义类的showCenter()方法, 用于输出类相关的信息
代码错误
public class .Book { String bookName; String authorName; int pageNum; boolean isAvailable;
演示示例1:使用Eclipse创建YuntuSchool类框架
类示例2-2
成员变量
public class YuntuSchool {
//定义云图智联中心的属性
String schoolName; // 中心的全称
int classNum;
//教室的数目
int labNum;
//机房的数目
// 定义云图智联中心的方法 public void showCenter() {
public void run(){ //方法1:跑 System.out.println("正在以0.1米/秒的速度向前奔跑。");
}
public String bark(){ //方法2:叫 String sound = "吼" ; return sound;
}
public String getColor(){ //方法3:获得颜色属性 return color ;
return name;
编译错误
} …… }
返回类型要匹配
常见错误2-1
public class YuntuSchool{ …… public static void main(String[ ] args){ …… return "云图智联北京中心! "; }
}
返回类型是void 方法中不能有返回值
方法名称
public void run(){ System.out.println("正在以0.1米/秒的速度向前奔跑");
}
public String bark(){ String sound = "吼" ; return sound;
} }
方法体
如何定义类的方法
➢ 类的方法定义类的某种行为(或功能)
}
常见错误
类命名规则:
1、不能使用Java关键字 2、首字母可以为字母,也可以是“_”或“$ ”(建议不要这 样) 3、不能包含空格或“.”号
如何创建和使用对象
➢使用对象的步骤:
➢使用new创建类的一个对象
YuntuSchool center = new YuntuSchool();
➢使用对象:使用“.”进行以下操作
第四章 类、对象和方法
循环语句while、do-while、for的区别是什么?
回顾
写出运行结果