资源预览内容
第1页 / 共24页
第2页 / 共24页
第3页 / 共24页
第4页 / 共24页
第5页 / 共24页
第6页 / 共24页
第7页 / 共24页
第8页 / 共24页
第9页 / 共24页
第10页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
面向对象前两天学生常问的问题总结面向对象前两天学生常问的问题总结什么是方法什么是方法?* A:为什么要有方法 * 提高代码的复用性提高代码的复用性(可以将一个功能反复调用可以将一个功能反复调用,不需要重复写很多次代码不需要重复写很多次代码) * B:什么是方法 * 完成特定功能的代码块。 * C:方法的格式 * 修饰符 返回值类型 方法名(参数类型 参数名 1,参数类型 参数名 2.) 方法体语句; return 返回值; * D:方法的格式说明 * 修饰符:目前就用 public static。后面我们再详细的讲解其他的修饰符。 * 返回值类型:就是功能结果的数据类型。 * 方法名:符合命名规则即可。方便我们的调用。 * 参数:(根据实际需求,可以有参数,也可以无参数) * 实际参数:就是实际参与运算的。 * 形式参数;就是方法定义上的,用于接收实际参数的。 * 参数类型:就是参数的数据类型 * 参数名:就是变量名 * 方法体语句:就是完成功能的代码。 * return:结束方法的。 * 返回值:就是功能的结果,由 return 带给调用者。class Demo1_Method public static void main(String args) /* * C:方法的格式 * 修饰符 返回值类型 方法名(参数类型 参数名 1,参数类型 参数名 2.) 方法体语句; return 返回值; * D:方法的格式说明 * 修饰符:目前就用 public static。后面我们再详细的讲解其他的修饰符。 * 返回值类型:就是功能结果的数据类型。 * 方法名:符合命名规则即可。方便我们的调用。* 参数: * 实际参数:就是实际参与运算的。 * 形式参数;就是方法定义上的,用于接收实际参数的。 * 参数类型:就是参数的数据类型 * 参数名:就是变量名 * 方法体语句:就是完成功能的代码。 * return:结束方法的。 * 返回值:就是功能的结果,由 return 带给调用者。 */ 如何写一个方法如何写一个方法?/* * A:如何写一个方法 * 1,明确返回值类型明确返回值类型(要返回什么数据要返回什么数据?这个功能到底要不要返回值这个功能到底要不要返回值?) * 2,明确参数列表明确参数列表 (需要你传入什么数据需要你传入什么数据?根据数据类型来写参数根据数据类型来写参数) * B:案例演示 * 需求:求两个数据之和的案例 * C:方法调用图解 */ class Demo2_Sum public static void main(String args) /*int a = 10; int b = 20; int sum = a + b; System.out.println(sum);int c = 30; int d = 40; int sum2 = c + d; System.out.println(sum2);*/int sum = add(10,20); System.out.println(sum);/add(30,40);/有返回值方法的单独调用,没有意义 System.out.println(add(30,40);/这样调用是可以,but 如果需要用这个结果不推荐这 样调用/盘子 = 炒菜(地沟油,苏丹红,镉大米,烂白菜); /* 求两个整数的和 1,整数的和结果应该还是整数 2,有两个未知内容参与运算如何写方法 1,明确返回值类型 2,明确参数列表* 修饰符:目前就用 public static。后面我们再详细的讲解其他的修饰符。 * 返回值类型:就是功能结果的数据类型。 * 方法名:符合命名规则即可。方便我们的调用。 * 参数: * 实际参数:就是实际参与运算的。 * 形式参数;就是方法定义上的,用于接收实际参数的。 * 参数类型:就是参数的数据类型 * 参数名:就是变量名 * 方法体语句:就是完成功能的代码。 * return:结束方法的。 * 返回值:就是功能的结果,由 return 带给调用者。 */ public static int add(int a,int b) /int a = 10,int b = 20 int sum = a + b; return sum;/如果有返回值必须用 return 语句 带回 /* 盘子 炒菜(油,调料,米,菜) 炒菜的动作 return 一盘菜; */方法怎么调用的方法怎么调用的?* A:方法调用(有具体返回值) * a:单独调用单独调用,一般来说没有意义,所以不推荐。一般来说没有意义,所以不推荐。 * b:输出调用输出调用,但是不够好。因为我们可能需要针对结果进行进一步的操作。但是不够好。因为我们可能需要针对结果进行进一步的操作。 * c:赋值调用赋值调用,推荐方案。推荐方案。 * B:案例演示* a:方法不调用不执行 * b:方法与方法是平级关系,不能嵌套定义 * c:方法定义的时候参数之间用逗号隔开 * d:方法调用的时候不用在传递数据类型 * e:如果方法有明确的返回值,一定要有 return 带回一个值/* * A:案例演示 * 需求:键盘录入两个数据,返回两个数中的较大值 * B:案例演示 * 需求:键盘录入两个数据,比较两个数是否相等 */ import java.util.Scanner; class Test1_Method public static void main(String args) Scanner sc = new Scanner(System.in);/创建键盘录入对象 System.out.println(“请输入第一个整数:“); int x = sc.nextInt();/将键盘录入的整数存储在 x 中 System.out.println(“请输入第二个整数:“); int y = sc.nextInt();/将键盘录入的整数存储在 y 中/int max = getMax(x,y); /System.out.println(max);boolean b = isEquals(x,y); System.out.println(b); /* 返回连个整数的较大值 1,明确返回值类型 int 2,明确参数列表 int a,int b */ public static int getMax(int a,int b) return a b ? a : b; /* 判断两个整数是否相等 1,明确返回值类型 boolean 2,明确参数列表 int a,int b */ public static boolean isEquals(int a,int b) /isEquals 是否相等 return a = b; return 关键字有什么用关键字有什么用?作用一:写在方法里面,直接终止方法,方法不再往下执行代码. 作用二:如果用在返回值类型的方法上,如果方法返回类型为 void,可以加可以不加,通常都不 加,系统会默认给上.核心作用核心作用:一般用于有返回值的方法上一般用于有返回值的方法上,用于返回跟方法返回类型的值用于返回跟方法返回类型的值. public static boolean isEquals(int a,int b) /isEquals 是否相等 return a = b; 例如这个方法例如这个方法: 方法返回值类型是布尔类型方法返回值类型是布尔类型,我们我们 return 语句跟的就是布尔类型的结果语句跟的就是布尔类型的结果.方法的形式参数是基本数据类型跟引用数据类型有何不同方法的形式参数是基本数据类型跟引用数据类型有何不同?/* 基本数据类型的值传递基本数据类型的值传递,不改变原值不改变原值,因为调用后就会弹栈因为调用后就会弹栈,局部变量随之消失局部变量随之消失 引用数据类型的值传递引用数据类型的值传递,改变原值改变原值,因为即使方法弹栈因为即使方法弹栈,但是堆内存数组对象还在但是堆内存数组对象还在,可以通过地址继可以通过地址继 续访问续访问Java 中到底是传值还是传址 1,既是传值,也是传地址,基本数据类型传递的值基本数据类型传递的值,引用数据类型传递的地址引用数据类型传递的地址 2,java 中只有传值,因为地址值也是值(出去面试都说这种,支持者是高司令(java 之父) */ class Test3_Array public static void main(String args) /*int a = 10; int b = 20; System.out.println(“a:“+a+“,b:“+b);/a = 10,b = 20 change(a,b); System.out.println(“a:“+a+“,b:“+b);/?*/int arr = 1,2,3,4,5; change(arr); System.out.println(arr1); public static void change(int a,int b) /a = 10, b= 20 System.out.println(“a:“+a+“,b:“+b);/a = 10,b = 20 a = b;/a = 20b = a + b;/b = 40 System.out.println(“a:“+a+“,b:“+b);/a = 20, b = 40 public static void change(int arr) /1,4,3,8,5 for(int x=0; x 0 /System.out.println(age); else System.out.println(“请回火星吧,地球不适合你“); public int getAge() /获取年龄 return age; public void setName(String name) /设置姓名 this.name = name; /System.out.println(name); public String getName() return name; Static 关键字是什么关键字是什么?为什么要用为什么要用 static 修饰成员变量修饰成员变量?* A:案例演示* 通过一个案例引入 static 关键字。* 人类:Person。每个人都有国籍,中国。* B:画图演示* 带有 static 的内存图class Demo1_Static public static void main(String args) /*Person p1 = new Person(); /创建对象 p1.name = “苍老师“;/调用姓名属性并赋值 p1.country = “日本“;/调用国籍属性并赋值Person p2 = new Person(); p2.name = “小泽老师“;/调用姓名属性并赋值 /p2.country = “日本“;/调用国籍属性并赋值p1.speak(); p2.speak();*/Person.country = “日本“;/静态多了一种调用方式,可以通过类名. System.out.println(Person.country); class Person String name;/姓名 static String country;/国籍public void speak() /说话的方法 System.out.println(name + “.“ + country); static 关键字有什么用关键字有什么用?* A:static 关键字的特点(开发中一般常用于写工具类修饰静态方法)* a:随着类的加载而加载* b:优先于
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号