4) 方法调用小结
a) 方法之间允许相互调用,不需要知道方法的具体实现,提高了效率
5) 小结
a) 编写手机类(Phone):它可以下载音乐,可以播放这些音乐,可以进行充电
b) 代码:
/*
* Phone.java
* 手机类
*/
public class Phone {
public void playMusic() {
System.out.println("正在播放" + downloadMusic());
}
public String downloadMusic() {
return "好汉歌";
}
public void chargeCell() {
Cell cell = new Cell();
/* 充电时要调用电池类的方法 */
cell.brand = "iPhone";
cell.getPower();
}
}
1. 代码分析:(红框)
a) 播放下载的音乐的方法
b) 下载的方法
c) 充电的方法
c) 编写电池类(Cell):自动续电
d) 代码:
/*
* Cell.java
* 电池类
*/
public class Cell {
String brand;
public void getPower() {
System.out.println(brand + "电池正在充电。");
}
}
1. 代码分析:(红框)
a) 声明品牌属性
b) 续电的方法
e) 编写测试类(Test):对手机类进行测试
f) 代码:
/*
* TestPhone.java 测试手机类
*/
public class TestPhone {
public static void main(String[] args) {
Phone phone = new Phone();
phone.playMusic();
phone.chargeCell();
}
}
1. 代码分析:(红框)
a) 创建一个手机的对象
b) 调用播放的方法
c) 调用充电的方法
知识点2:带参数的方法[25分钟]
1) 什么是带参数的方法
a) 方法实施时需要接收某个值进行处理
生活中的榨汁机:提供了一个“榨汁”的功能。放什么水果就榨出什么汁来。如果没有放水果进去,就不可能榨出汁来。必须要提供一个被榨的东西才行。这个东西就是方法中的参数。
再比如:我们在ATM机上取钱时,必须输入一个金额,ATM机才会按照我们提供的金额“吐出”钱来。
b) 当方法中功能的实现需要我们提供参数时,在定义方法时就要在括号中加入参数列表。
2) 使用带参数的方法解决实际问题
a) 分成两步:
1. 定义带参数的方法
a) 语法:
public 返回值类型 方法名(参数列表){
//方法体
}
1) 四个基本要素:
1. 返回值类型
2. 方法名
3. 参数列表
4. 方法体
2. 调用带参数的方法
a) 调用带参数的方法时,必须在调用时传入参数。
3. 示例:
a) 定义带参数的方法
/**
* 榨汁类
*/
public class Zhazhi {
/**
* 榨汁方法
*
* @param fruit
* 水果
* @return juice 果汁名
*/
public String zhazhi(String fruit) {
String juice = fruit + "汁";
return juice;
}
}
b) 调用带参数的方法
public class Hello6 {
public static void main(String[] args) {
Zhazhi myZhazhi = new Zhazhi();
String myFruit = "苹果";
String myJuice = myZhazhi.zhazhi(myFruit);
System.out.println(myJuice);
}
}
3) 小结
a) 实现MP3播放器:
1. 播放录入的音乐名称
2. 外放正在播放的歌曲
import java.util.Scanner;
public class MP3 {
/**
* 播放
*
* @param song
* 歌曲名称
* @return 播放的歌曲
*/
public String play(String song) {
return song + "......";
}
/**
* 外放
*
* @param info
* 声音
*/
public void audio(String sound) {
System.out.println(sound);
}
public static void main(String[] args) {
MP3 mp3 = new MP3();
System.out.print("想听什么歌? ");
Scanner input = new Scanner(System.in);
String song = input.next();
mp3.audio(mp3.play(song));
}
}
1. 播放方法:根据歌曲名字,放出歌曲内容
2. 外放方法:把歌曲的内容输出来(输出到控制台)
知识点3:变量作用域[10分钟]
1) 变量作用域
网上的一些资料我们不能下载――因为我们不是会员
银行的后台我们不能进去――因为我们不是银行的工作人员
湖北省省长可以管理整个湖北省,而襄樊市市长只能管理襄樊市,不能管理其他地区,他们有自己的权力范围。
在现实生活中,有许多的资料只能特定的人群才能使用,如果我们不是这个人群的一员,就不能享用。
在JAVA中,这种现象同样存在。
a) JAVA以类来组织程序。类里面只有两样:类的属性和类的方法
1. 类的属性就是类的成员变量
2. 类的方法就是类的成员方法。
b) 在类的方法中,我们同样可以定义变量:局部变量
c) 全局变量:在类中定义的变量(和方法平级的变量),即成员变量,就是属性
d) 局部变量:在方法中定义的变量,在一个方法中定义的变量,不能在其他方法中使用,只在本方法中起作用
e) 变量声明的位置就决定了变量的作用域
f) 变量作用域确定了可在程序中按变量名访问该变量的区域
g) 区别:
1. 作用域不同:成员变量可以在整个类中使用,局部变量只能在定义变量的方法中使用。
2. 初始值不同:成员变量如果没有初始化,JAVA会给它一个默认值。
JAVA不会给局部变量默认值,局部变量在使用前必须手工初始化。
2) 小结
a) 演示示例:
1. 编写成绩计算类(ScoreCalc)
代码:
/**
* ScoreCalc类
*
* @author zte
* @version 1.0 2010/07/21
*/
public class ScoreCalc {
int java; // Java成绩
int html; // C#成绩
int sql; // DB成绩
/**
* 计算总成绩
*
* @return total
*/
public int calcTotalScore() {
int total = java + html + sql;
return total;
}
/**
* 显示总成绩
*/
public void showTotalScore() {
System.out.println("总成绩是: " + calcTotalScore());
}
/**
* 计算平均成绩
*
* @return avg
*/
public int calcAvg() {
int avg = (java + c + db) / 3;
return avg;
}
/**
* 显示平均成绩
*/
public void showAvg() {
System.out.println("平均成绩是: " + calcAvg());
}
}
2. 编写测试类
代码:
import java.util.*;
public class TestScoreCalc {
public static void main(String[] args) {
ScoreCalc sc = new ScoreCalc();
/* 接收成绩 */
Scanner input = new Scanner(System.in);
System.out.print("请输入Java成绩:");
sc.java = input.nextInt();
System.out.print("请输入THML成绩:");
sc.html = input.nextInt();
System.out.print("请输入SQL成绩:");
sc.sql = input.nextInt();
/* 计算并输出成绩 */
sc.showTotalScore();
sc.showAvg();
}
}
知识点4:面向对象的编程思维[5分钟]
1) 面向对象的编程思维
import java.util.Scanner;
public class AutoLion {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入Java成绩:");
int java = input.nextInt();
System.out.print("请输入HTML成绩:");
int html = input.nextInt();
System.out.print("请输入SQL成绩:");
int sql = input.nextInt();
/* 计算并显示输出 */
int total = java + html + sql;
double avg = total / 3;
System.out.print("总成绩:" + total);
System.out.print("\n平均分: " + avg);
}
}
a) 类的方法实现某个特定的功能,别的类不需要知道它如何实现!
b) 知道了实现此功能的类和它的方法名,就可以用这个类的对象来直接调用需要的方法,而不用重复写代码!
c) 我们使用对象名来调用对象具有的方法,来完成相应的功能
|
|