行业知识
Java的方法
方法的定义
注意,java中方法不能嵌套定义!!!
方法头:也叫方法的声明,五个部分组成
[访问修饰符]([参数列表])[异常列表]
使用[]包括的部分是可选项,包括的是必填项
例如:
Public static void attack(String type)
访问修饰符:public static
返回值类型:void(当前不返回任何值)
方法名:attack
参数:type(形参)
方法体:也叫方法的实现,具体要使用的代码块位于{}中
public static void fun(){ System.out.println("fun方法体")} 2.访问权限符
| 修饰符 | 当前类 | 子类 | 相同包 | 其他包 |
| public | yes | yes | yes | yes |
| protetcted | yes | yes | yes | no |
| default | yes | no | yes | no |
| private | yes | no | no | no |
2.1访问权限符范围
从小到大private->default->protected->public
私有权限(private):private可以修饰数据成员、构造方法、和方法成员,不可以修饰类(外部类,不考虑内部类)。被private修饰的成员只能在定义它们的类中使用,在其他类中不能调用
2.默认权限(default):不被private、protected、public修饰即为默认权限,类、数据成员、构造方法和方法成员等都能够使用默认权限(相比于其他多了一个类)。被默认权限修饰的元素只能在定义它们的类中以及同包的类中被调用
3.受保护权限(protected):protected可以修饰数据成员、构造方法和方法成员,被protected修饰的类只能在定义它的类和同包的类或者其他包的子类中才能访问
4.公共权限(public):public可以修饰类、数据成员、构造方法和方法成员(相比于其他多了一个类)。被public修饰的成员可以在任何一个类中被调用,不管同包不同包,是权限最大的一个修饰符
3.方法返回值
1.如果方法在声明时,返回值类型不是void,说明方法必须要有返回值,必须要使用return语句来返回,返回的数据必须和方法声明时的数据类型相同 或兼容
2.当一个方法中,执行到return语句时,就表明,当前方法执行结束了,回到主调方法继续运行
3.在return语句后面,不能再出现其他语句,除非return语句在条件分支中。如果return在条件分支中,要保证方法不管在什么情况下,都要有return语句被执行
4.方法参数传递
基本数据类型传递:传递参数所对应的数据值
引用数据类型传递:传递的是存储的引用地址值,字符串String,传递的是字面量值
4.1形参
也叫形式参数,方法声明时候的参数称为形参,如test(int x)
4.2 实参
也叫实际参数,方法调用时传入的参数,如test(1)
public class Test {public static void main(String[] args) {fun("这里是实参");//括号中为实参}private static void fun(String str) {//括号中为形参System.out.println(str);//将传入的参数打印输出}} 4.3可变参数(不定长参数)
1.当参数的个数不定时,可以使用可变参数
2.可变参数的写法:int…x前面为参数类型,中间加三个点,后面为参数名
使用规则:
1.如果方法中,有可变参数,还有其它参数,可变参数必须是最后出现,并且只能有一个可变参数
2.可变参数的原理为数组,传入参数时,根据传入的参数自动生成匹配的数组类型,数组长度等于传入的参数个数,数组元素为传入的实参
public class Demo {public static void main(String[] args) {int sum = add(1,2,3,4,5,6,7,8,9);System.out.println(sum);}private static int add(int ...x) {//可变参数int add = 0;//将数组元素(即传入的参数)求和for (int i = 0; i 运行结果为 45
5.方法的声明和调用
public class Test {//定义4种方法private static void m1() {System.out.println("无参无返回值的方法");}private static int m2() {System.out.println("无参有返回值的方法");return 1;}private static int m3(String str) {System.out.println("有参有返回值的方法");return 1;}private static void m4(String str) {System.out.println("有参无返回值的方法");}public static void main(String[] args) {//调用方法m1();m2();m3("有参");m4("有参");}} 运行结果为
无参无返回值
无参有返回值
有参无返回值
有参有返回值
6.方法的重载
同一个类中,方法名相同,参数列表不同,就是方法重载
要求:
1.方法名必须相同
2.访问修饰符可以相同,也可以不同
3.返回值类型可以相同,也可以不相同
4.参数列表必须不同(不区分形参名称的)
1.参数类型不同
2.参数个数不同
3.参数顺序不同
public class Text {public static void main(String[] args) {add(1,2);//两个数的相加add(1,2,3);//三个数的相加add(1,2,3,4);//四个数的相加add(1,2,3,4,5);//五个数的相加}//方法名相同,参数列表不同造成重载private static void add(int a,int b) {int sum = a + b;System.out.println("两个数的相加和为"+sum);}private static void add(int a,int b,int c) {int sum = a + b + c;System.out.println("三个数的相加和为"+sum);}private static void add(int a,int b,int c,int d) {int sum = a + b + c +d;System.out.println("四个数的相加和为"+sum);}private static void add(int a,int b,int c,int d,int e) {int sum = a + b + c + d +e;System.out.println("五个数的相加和为"+sum);}}———————————————— 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/qq_45626589/article/details/112271660
最新文章
- Zol下载攻略,轻松获取所需资源!
- 做过饭店两三年,过来进厂工作一年多,但现在想找工作,而不知做什么工作,想做销售,文员,可因为自己没有经验,不敢去尝试,你们有什么建议呢
- 上过的课怎么排序?
- 揭秘复利盘源码,掌握财富增值的神秘力量!
- 一键重装Win10系统,轻松掌握系统重装指南
- 揭秘汉字奥秘,你不知道的衤字发音探索?
- 淘宝扭蛋机小程序开发:探索无限惊喜的购物新体验
- 云服务器怎么接受数据?
- 三十岁,因为带孩子脱岗一年半。以前毕业就到私企做了HR,一做就是五年。后来家里没人帮忙带孩子只能自己辞职带。现在孩子上幼儿园想着找工作。专员人家不要,有五年经验说我不稳定。做主管又嫌弃拖孩子,下班要早不出差不加班。现在天天发愁,像我这样的能做什么,还是学习其他技能?
- 安卓服务器怎么升级到鸿蒙?