非零基础自学Java (老师:韩顺平)
✈【【零基础 快速学Java】韩顺平 零基础30天学会Java】
第7章 面向对象编程(基础部分)
文章目录
- 非零基础自学Java (老师:韩顺平)
- 第7章 面向对象编程(基础部分)
- 7.2 成员方法
- 7.2.1 基本介绍
- 7.2.2 成员方法快速入门
- 7.2.3 方法的调用机制原理
- 7.2.4 为什么需要成员方法
- 7.2.5 成员方法的好处
- 7.2.6 成员方法的定义
- 7.2.7 注意事项和使用细节
- 7.2.8 类定义的完善
7.2 成员方法
7.2.1 基本介绍
在某些情况下,需要定义成员方法(简称方法)。比如人类:除了有一些属性外( 年龄,姓名…),我们人类还有一些行为比如:可以说话、跑步…,通过学习,还可以做算术题。这时就要用成员方法才能完成。
7.2.2 成员方法快速入门
举个栗子
/**
* ClassName: Person
* date: 2022/9/2 15:11
*
* @author DingJiaxiong
*/
public class Person {
String name;
int age;
public void speak(){
System.out.println("我是一个好人");
}
public void cal01(){
int res = 0;
for (int i = 0; i < 1000; i++) {
res += i;
}
System.out.println("cal01方法 计算结果=" + res);
}
public void cal02(int n){
int res = 0;
for (int i = 0; i <= n; i++) {
res += i;
}
System.out.println("cal02方法 计算结果=" + res);
}
public int getSum(int num1 , int num2){
int res = num1 + num2;
return res;
}
}
调用类
/**
* ClassName: Method01
* date: 2022/9/2 15:09
*
* @author DingJiaxiong
*/
public class Method01 {
public static void main(String[] args) {
Person p1 = new Person();
p1.speak();
p1.cal01();
p1.cal02(5);
p1.cal02(10);
int returnRes = p1.getSum(10 ,20);
System.out.println("getSum方法返回的值= " + returnRes);
}
}
运行结果
7.2.3 方法的调用机制原理
7.2.4 为什么需要成员方法
一个需求:遍历一个数组,输出数组的各个元素值
/**
* ClassName: MyTools
* date: 2022/9/2 15:18
*
* @author DingJiaxiong
*/
public class MyTools {
public void printArr(int[][] map){
System.out.println("========");
for (int i = 0; i < map.length; i++) {
for (int j = 0; j < map[i].length; j++) {
System.out.print(map[i][j] + "_");
}
System.out.println();
}
}
}
调用类
/**
* ClassName: Method02
* date: 2022/9/2 15:18
*
* @author DingJiaxiong
*/
public class Method02 {
public static void main(String[] args) {
int[][] map = {{0,0,1},{1,1,1},{1,1,3}};
MyTools tool = new MyTools();
tool.printArr(map);
}
}
运行结果
7.2.5 成员方法的好处
- 提高代码的复用性
- 可以将实现的细节封装起来,然后供其他用户来调用即可
7.2.6 成员方法的定义
访问修饰符 返回数据类型 方法名(形参列表...){
//方法体
语句;
return 返回值;
}
- 形参列表:表示成员方法输入 cal(int n) , getSum(int num1, int num2)
- 返回数据类型:表示成员方法输出, void 表示没有返回值
- 方法主体:表示为了实现某一功能代码块
- return 语句不是必须的。
7.2.7 注意事项和使用细节
/**
* ClassName: AA
* date: 2022/9/2 15:25
*
* @author DingJiaxiong
*/
class AA {
//方法不能嵌套定义
// public void f4(){
// public void f5(){
//
// }
// }
public void f3(String str,int n){
}
//返回多个结果,用数组
public int[] getSumAndSub(int n1,int n2){
int[] resArr = new int[2];
resArr[0] = n1 + n2;
resArr[1] = n1 - n2;
return resArr;
}
public double f1(){
double d1 = 1.1 * 3;
int n = 100;
return n;
}
public void f2(){
System.out.println("Hello1");
System.out.println("Hello1");
System.out.println("Hello1");
int n = 10;
return;
}
}
调用类
/**
* ClassName: MethodDetail
* date: 2022/9/2 15:25
*
* @author DingJiaxiong
*/
public class MethodDetail {
public static void main(String[] args) {
AA aa = new AA();
int[] res = aa.getSumAndSub(1 , 4);
System.out.println("和 = " + res[0]);
System.out.println("差 = " + res[1]);
}
}
运行结果
【访问修饰符(作用是控制方法使用的范围)】
如果不写默认访问,[有四种: public, protected, 默认, private]
【返回数据类型】
- 一个方法最多有一个返回值 [如何返回多个结果 → 返回数组 ]
- 返回类型可以为任意类型,包含基本类型或引用类型(数组,对象)
- 如果方法要求有返回数据类型,则方法体中最后的执行语句必须为 return 值; 而且要求返回值类型必须和 return 的值类型一致或兼容
- 如果方法是 void,则方法体中可以没有 return 语句,或者 只写 return ;
【方法名】
遵循驼峰命名法,最好见名知义,表达出该功能的意思即可, 比如 得到两个数的和 getSum, 开发中按照规范
【形参列表】
- 一个方法可以有0个参数,也可以有多个参数,中间用逗号隔开,
- 参数类型可以为任意类型,包含基本类型或引用类型。
- 调用带参数的方法时,一定对应着参数列表传入相同类型或兼容类型的参数
- 方法定义时的参数称为形式参数,简称形参;方法调用时的传入参数称为实际参数,简称实参,实参和形参的类型要一致或兼容、个数、顺序必须一致
【方法体】
里面写完成功能的具体的语句,可以为输入、输出、变量、运算、分支、循环、方法调用,但里面不能再定义方法,即:方法不能嵌套定义。
【方法调用细节说明】
-
同一个类中的方法调用:直接调用即可。
-
跨类中的方法A类调用B类方法:需要通过对象名调用。
跨类的方法调用和方法的访问修饰符相关
7.2.8 类定义的完善
更多推荐
非零基础自学Java (老师:韩顺平) 第7章 面向对象编程(基础部分) 7.2 成员方法
发布评论