第12章 类的无参方法
一.类的方法概述
1.(1)类是一组具有相同属性和共同行为的实体抽象而来的。对象执行的操作是通过编写类的 方法实现的。
(2)类的每一个方法都实现了一个功能。
2.(1)return语句返回值
语法:return 表达式
(2)return 语句是跳转语句的一种
作用:[1]跳出方法 “我已经完成了,要离开这个方法。”
[2]给出结果 “离开方法,并将<表达式>的值返回给调用它的程序”
3.(1)简单地说,在程序中通过使用方法名称从而执行方法中包含的语句,这一过程就称为方 法调用
(2)类的方法的调用
[1]同一个类中的方法,直接使用方法名调用该方法
[2]不同类的方法,首先创建对象,再使用“对象名.方法名()”来调用。
类的方法的语法:访问修饰符 方法的返回值类型 方法名(){
//方法的主体
二.变量的作用域
1.成员变量:在类中定义的变量
局部变量:在方法中定义的变量
2.注意:[1]作用域不同,局部变量的作用域仅限于定义它的方法,在该方法外无法访问。成员 变量的作用域在整个类内部都是可见的,所有成员方法都可以使用,如果访问权限允 许,还可以在类外部使用成员变量。
[2]初始值不同,对于成员变量,如果在类定义中没有给它赋初始值,java会给它一个默认 值,基本数据类型的值为0;引用类型的值为null, 但是java不会给局部变量赋初始值, 因此局部变量必须要定义赋值后再使用。
[3]在同一个方法中,不允许有同名的局部变量,在不同的方法中,可以有同名的局部变量。
三.面向对象编程
2.好处:类的方法可以实现某个特定的功能,其他的类不需要知道它是如何实现的.知道实现此功能的类和它的的方法名,就可以直接调用,二不用重复编码.
四.JavaDoc注释
1.程序是程序员的创作作品,他应该具有可读性,相对持久性和可维护性.
2.JavaDoc是前sun公司提供的一种技术,它能够从程序源代码中抽取类,方法,成员等的注释,形成一个和源代码配套的API帮助文档(简单地说,就是介绍该类,类的方法和成 员变量的文档).
3.只要在编写程序时以一套特定的标签作为注释,在程序编写完成后,通过JavaDoc技术就可以同时生成程序的开发文档.
4.JavaDoc注释的语法规则
(1)以"/**"开头,以"*/"结尾;
(2)每个注释包含一些描述性的文本及若干个JavaDoc标签;
(3)JavaDoc标签一般以"@"为前缀.
语法: /**
*
*
*/
(7)@param参数描述 方法的入参名及描述信息,如入参有特别要求,可在此注释
(8)@deprecated过期文本 标识随着程序版本的提升,当前API已经过期,仅为了保证兼容性依然存在,以此告之开发者不应再用这个API
(9)@exception异常类名 同throws
(10)@see引用 查看相关内容,如类,方法,变量等
(11)@link包.类#成员 标签 链接到某个特定的成员对应的文档中
6.生成JavaDoc开发文档的方法
(1)使用命令行方式生成
(2)使用MyEclipse工具生成 步骤:File->Export->Java->JavaDoc->Next->复制use standard doclet 框中文件位置->Finish->找到生成的文件位置在计算机搜索栏中搜索查看.
注:按ctrl键+鼠标左键 进入方法内部查看底层代码!
一.类的方法概述
1.(1)类是一组具有相同属性和共同行为的实体抽象而来的。对象执行的操作是通过编写类的 方法实现的。
(2)类的每一个方法都实现了一个功能。
(3)类的方法定义了类的某种行为(功能),而且方法的具体实现封装在类中,实现了信息 隐藏。
public class AutoLion {
String color = "黄色";
// 跑方法
public void run() {
System.out.println("正在以0.1米/秒的速度向前奔跑");
}
// 叫方法
public void cry() {
System.out.println("大声吼叫!");
}
// 抢球方法
public String robBall() {
String ball = "球";
return ball;
}
}
2.(1)return语句返回值
语法:return 表达式
(2)return 语句是跳转语句的一种
作用:[1]跳出方法 “我已经完成了,要离开这个方法。”
[2]给出结果 “离开方法,并将<表达式>的值返回给调用它的程序”
3.(1)简单地说,在程序中通过使用方法名称从而执行方法中包含的语句,这一过程就称为方 法调用
语法:对象名.方法名();
//电动狮子类
public class AutoLion_ {
String color = "黄色";
/* 跑 */
public void run() {
System.out.println("正在以0.1米/秒的速度向前奔跑。");
}
/* 抢球 */
public String robBall() {
String ball = "球";
return ball;
}
/* 获得颜色 */
public String getColor() {
return color;
}
/* 显示狮子特性 */
public String showLion() {
return "这是一个" + getColor() + "的玩具狮子!";
}
}
//测试类
public class TestLion_ {
public static void main(String[] args) {
AutoLion_ Lion = new AutoLion_();// 创建AutoLion_对象
String info = Lion.showLion();// 调用方法并接收方法的返回值
System.out.println(info);// 显示类信息
Lion.run();// 调用跑方法
System.out.println("抢到一个" + Lion.robBall());// 调用抢球方法
}
}
(2)类的方法的调用
[1]同一个类中的方法,直接使用方法名调用该方法
[2]不同类的方法,首先创建对象,再使用“对象名.方法名()”来调用。
类的方法的语法:访问修饰符 方法的返回值类型 方法名(){
//方法的主体
}
常见错误:
public class Student {
public void showInfo(){
return "我是一名学生";
}
public double getInfo(){
double weight=95.5;
double height=1.69;
return weight,height;
}
public String showInfo(){
return "我是一名学生";
public double getInfo(){
double weight=95.5;
double height=1.69;
return weight,height;
}
}
int age=20;
if(age<20){
System.out.println("年龄分不符合入学要求!");
}
public void showInfo(){
System.out.println("我是一名学生");
}
}
/**
* 1.方法的返回值类型为void,方法中不能有return语句
* 2.方法不能返回多个值
* 3.多个方法不能相互嵌套定义
* 4.不能在方法外部直接写程序逻辑代码
*/
二.变量的作用域
1.成员变量:在类中定义的变量
局部变量:在方法中定义的变量
2.注意:[1]作用域不同,局部变量的作用域仅限于定义它的方法,在该方法外无法访问。成员 变量的作用域在整个类内部都是可见的,所有成员方法都可以使用,如果访问权限允 许,还可以在类外部使用成员变量。
[2]初始值不同,对于成员变量,如果在类定义中没有给它赋初始值,java会给它一个默认 值,基本数据类型的值为0;引用类型的值为null, 但是java不会给局部变量赋初始值, 因此局部变量必须要定义赋值后再使用。
[3]在同一个方法中,不允许有同名的局部变量,在不同的方法中,可以有同名的局部变量。
[4]局部变量可以和成员变量同名,并且在使用时,局部变量具有更高的优先级。
public class Student_ {
int score1 = 88;
int score2 = 98;
public void calcAvg() {
int avg = (score1 + score2) / 2;
}
public void showAvg() {
System.out.println("平均分是:" + avg);
/**
* 如果要使用在方法calcAvg()中获得的avg结果,可以编写带有返回值的方法啊,然后从方法showAvg()中调用这个方法,
* 而不是直接在这个方法中定义的变量
*/
}
}
public class variableDomain1 {
public static void main(String[] args) {
for (int a = 0; a < 4; a++) {
System.out.println("Hello!");
}
System.out.println(a);
/**
* 在while循环,do-while循环,if选择结构,switch选择结构中定义的变量,作用域也仅仅在这些控制流语句块内
*/
}
}
三.面向对象编程
1.oop是一种计算机编程架构,是20世纪90年代才流行起来的一种软件编程思想。oop的一条基本原则就是计算机是由单个能够起到子程序作用的单元或对象组合而成的,采用这种架构编程主要起到重用性,灵活性和扩展性的强大作用。
import java.util.Scanner;
public class OldScoreCalc {
public static void main(String[] args) {
/* 接收成绩 */
Scanner input = new Scanner(System.in);
System.out.println("请输入java成绩:");
int java = input.nextInt();
System.out.println("请输入c#成绩:");
int c = input.nextInt();
System.out.println("请输入DB成绩:");
int db = input.nextInt();
/* 计算并显示成绩 */
int total = java + c + db;
double avg = total / 3.0;
System.out.println("总成绩:" + total);
System.out.println("\n平均分:" + avg);
}
}
2.好处:类的方法可以实现某个特定的功能,其他的类不需要知道它是如何实现的.知道实现此功能的类和它的的方法名,就可以直接调用,二不用重复编码.
四.JavaDoc注释
1.程序是程序员的创作作品,他应该具有可读性,相对持久性和可维护性.
2.JavaDoc是前sun公司提供的一种技术,它能够从程序源代码中抽取类,方法,成员等的注释,形成一个和源代码配套的API帮助文档(简单地说,就是介绍该类,类的方法和成 员变量的文档).
3.只要在编写程序时以一套特定的标签作为注释,在程序编写完成后,通过JavaDoc技术就可以同时生成程序的开发文档.
4.JavaDoc注释的语法规则
(1)以"/**"开头,以"*/"结尾;
(2)每个注释包含一些描述性的文本及若干个JavaDoc标签;
(3)JavaDoc标签一般以"@"为前缀.
语法: /**
*
*
*/
5.常用的JavaDoc标签
(1)@author 作者名
(2)@parameter 参数及其意义
(3)@return 返回值
(4)@version 版本标识
(5)@since 最早使用该方法/类/接口的JDK版本
(7)@param参数描述 方法的入参名及描述信息,如入参有特别要求,可在此注释
(8)@deprecated过期文本 标识随着程序版本的提升,当前API已经过期,仅为了保证兼容性依然存在,以此告之开发者不应再用这个API
(9)@exception异常类名 同throws
(10)@see引用 查看相关内容,如类,方法,变量等
(11)@link包.类#成员 标签 链接到某个特定的成员对应的文档中
(12)@value 当对常量进行注释时,如果想将其值包含在文档中,则通过该标签来引用常量的值
/**
* ScoreCalc类
* @author chris
* @version 2.0 2016/04/02
*/
public class ScoreCalc {
/** java成绩 */
int java;
/** c#成绩 */
int c;
/** DB成绩 */
int db;
/**
* 计算总成绩
*
* @return total
*/
public int calcTotalScore() {
int total = java + c + db;
return total;
}
/**
* 显示总成绩
*/
public void showTotalScore() {
System.out.println("总成绩是:" + calcTotalScore());
}
/**
* 计算平均成绩
*
* @return avg
*/
public double calcAvg() {
double avg = (java + c + db) / 3.0;
return avg;
}
/**
* 显示平均成绩
*/
public void showAvg() {
System.out.println("平均成绩是:" + calcAvg());
}
}
6.生成JavaDoc开发文档的方法
(1)使用命令行方式生成
(2)使用MyEclipse工具生成 步骤:File->Export->Java->JavaDoc->Next->复制use standard doclet 框中文件位置->Finish->找到生成的文件位置在计算机搜索栏中搜索查看.
注:按ctrl键+鼠标左键 进入方法内部查看底层代码!