10.面向对象-----类的成员之方法(method)
2020-03-28 16:05:06来源:博客园 阅读 ()
10.面向对象-----类的成员之方法(method)
一、定义
类或对象行为特征的抽象,用来完成某个特定的功能。
二、作用
将功能封装进对象,实现代码重用,简化代码。
三、分类
四、具体说明
1.方法的声明格式
其中:
①权限修饰符:可以被private、缺省、protected、public等修饰
②返回值类型:
> 没有返回值:void修饰(如果一定要返回的话,使用return;表示结束此方法的意思)
> 有返回值:必须声明其返回值类型,在方法体中必须使用“return 数据”的方式返回数据
③方法名:属于标识符,符合标识符的命名规则和规范
④形参列表:可以包含0个、1个或多个,且必须指明其类型,不同参数之间用“,”隔开
⑤方法体:方法具体功能的实现
⑥返回值:方法在执行完毕后返回给调用它的程序的数据
2.注意点:
①方法的使用中,可以调用当前类的属性和方法;
②方法中不能定义方法。
五、举例
public class test { public static void main(String[] args) { Person p = new Person(); p.name = "张三"; p.age = 19; p.sex = 1; p.study();//studying p.showAge();//年龄为:19 p.addAge(2); p.showAge();//年龄为:21 } } class Person{ String name; int age; int sex; public void study(){ System.out.println("studying"); } public void showAge(){ System.out.println("年龄为:" + age); } public int addAge(int i){ age += i; return age; } }
六、return关键字的使用
1.使用范围:使用在方法体中
2.作用:
①结束方法;
②针对有返回值的方法,可以通过“return 数据”的方式返回所要的数据
3.注意点:return后不能声明执行语句
七、再谈方法
1.方法的重载
定义:在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同即可。
总结:“两同一不同”:同一个类,同一个方法名;参数列表不同。
举例:
class Person{ String name; int age; public void getSum(int i, int j){ System.out.println("1"); } public void getSum(double d1, double d2){ System.out.println("2"); } public void getSum(String s, int i){ System.out.println("3"); } public void getSum(int i){ System.out.println("4"); } }
2.可变个数形参的方法
说明:
1.JDK5.0新增的内容
2.声明方式:方法名(参数类型 ... 参数名)
3.可变个数形参可代表0个、1个、多个对应的实参
4.可变个数形参的方法与同名的方法彼此之间构成重载
5.方法中如果有可变形参,也有其它形参,可变形参要放在最后
6.一个方法中只能声明一个可变形参
举例:
public class test { public static void main(String[] args) { Person p = new Person(); p.show(2); p.show("alex"); p.show("str1", "str2", "str3"); } } class Person{ public void show(int i){ } public void show(String s){ System.out.println("1"); } public void show(String ... strings){ System.out.println("可变形参"); for (int i = 0; i < strings.length; i++) { System.out.println(strings[i]); } } }
3.Java的值传递机制
形参:方法声明时的参数
实参:方法调用时实际传递给形参的参数
Java里方法的参数传递方式只有一种:值传递。 即将实际参数值的副本(复制品)传入方法内,而参数本身不受影响。> 形参是基本数据类型:将实参基本数据类型变量的“数据值”传递给形参
> 形参是引用数据类型:将实参引用数据类型变量的“地址值”传递给形参
举例:
public class test { public static void main(String[] args) { int x = 5; System.out.println("修改之前:x = " + x);//5 change(x); System.out.println("修改之后:x = " + x);//5 } public static void change(int x) { System.out.println("change:修改之前x = " + x);//5 x = 3; System.out.println("change:修改之后x = " + x);//3 } }
public class test { public static void main(String[] args) { Person obj = new Person(); obj.age = 5; System.out.println("修改之前age = " + obj.age);// 5 change(obj); System.out.println("修改之后age = " + obj.age);// 3 } public static void change(Person obj) { System.out.println("change:修改之前age = " + obj.age);//5 obj.age = 3; System.out.println("change:修改之后age = " + obj.age);//3 } } class Person{ int age; }
4.递归方法
定义:一个方法的方法体内调用它自身。
注意:递归方法必须要有结束条件,否则会出现死循环。
public class test { public static void main(String[] args) { System.out.println(getSum(10));//3628800 } //计算n! public static int getSum(int n){ if (n == 1){ return 1; }else{ return n * getSum(n - 1); } } }
作者:Java之美
日期:2020-03-28
原文链接:https://www.cnblogs.com/897463196-a/p/12588625.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:Java------数据和表达式
- 通过与C++程序对比,彻底搞清楚JAVA的对象拷贝 2020-06-11
- Java笔记:集合 2020-06-10
- Java基础复习——类和对象 2020-06-09
- JSP九大内置对象 2020-06-07
- java对象指向问题 2020-06-07
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash