java方法
方法
-
使用方法可以让程序更加整洁
-
1、为什么使用方法? 减少重复代码,提供代码复用性 使用方法将功能提炼出来 写在类内 2、声明格式 [修饰符] 返回值类型 方法名([形式参数列表]){ 程序代码; [return 返回值;] } 注意:1、方法是给外界提供内容的位置,形式参数是外界提供的 2、方法调用的时候写的是实际参数 3、实际参数的类型、顺序和形参要对应上 4、支持自动转换类型,不支持强制类型转换 -
1、数据类型划分: 基本类型变量:数据的值 引用类型变量:数据的地址 2、声明的位置划分: 局部变量 全局变量 区别: 1、默认值 局部没有默认值,使用前必须初始化。 全局有默认值,默认为0,不必须初始化。 2、声明位置 局部在方法内。 全局在方法外类内。 3、作用位置 局部只能在自己声明的方法里。 全局在整个类中
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dW7MjIoh-1613297084048)(image-20201223220546613.png)]
return 是返回值
没有 return的情况下 void是关键字,可以直接调用如上图
方法调用
静态方法调用非静态
无论是否在同一类内,均需要通过对象调用
package test; //Test类 public class Test { public void IsSon1(){//非静态方法 System.out.println("成功调用非静态方法里的儿子1"); } public static void main(String[] args) { Test son1=new Test(); son1.IsSon1();//静态方法通过对象调用此类中的非静态方法 Son son=new Son();//静态方法通过对象调用Son类中的非静态方法 son.IsSon(); } } 1234567891011121314 package test; //Son类 public class Son { public void IsSon(){ System.out.println("成功调用另一个类里的儿子"); }//Son类里的非静态方法 }
静态方法调用静态方法
同一类内直接调用,不同类内直接通过类名.方法名(参数表)调用
package test; //Test类 public class Test { public static void IsSon2(){//静态方法 System.out.println("成功调用静态方法里的儿子2"); } public static void main(String[] args) { IsSon2();//静态方法直接调用类内的静态方法 Son.IsSon3();//静态方法通过类名直接调用Son类中的静态方法 } } 123456789101112 package test; //Son类 public class Son { public static void IsSon3(){ System.out.println("成功调用另一个类里的静态儿子3"); }//Son类里的静态方法 } 1234567
非静态方法在同一类内调用其他方法
在同一类内,非静态方法可以直接调用静态方法和非静态方法
package test; //Test类 public class Test { public void Son1(){//非静态方法 System.out.println("成功调用非静态方法里的儿子1"); } public static void Son2(){//静态方法 System.out.println("成功调用静态方法里的儿子2"); } public void alloutput(){ Son1();//非静态方法直接调用类内的非静态方法△ Son2();//非静态方法直接调用类内的静态方法△ } public static void main(String[] args) { Test test = new Test(); test.alloutput();//前边已学静态方法通过对象调用非静态方法 } }
非静态方法在不同类之间调用其他方法
在不同类之间,非静态方法需要通过对象才能调用非静态方法。
非静态方法既可以通过对象调用静态方法又可以通过类名直接调用(由于对象的调用方式属于非静态调用方式,所以建议使用类名直接调用静态方法)
package test; //Test类 public class Test { public void output(){ Son.IsSon1();//通过类名直接调用Son类中的静态方法,不建议使用对象调用静态方法 Son son = new Son(); son.IsSon2();//通过对象调用Son类中的非静态方法 } public static void main(String[] args) { //同一类中的静态方法调用非静态方法output,前边已经涉及到 Test test = new Test(); test.output(); } } 123456789101112131415 package test; //Son类 public class Son { public static void IsSon1(){//Son类里的静态方法 System.out.println("成功调用另一个类里的静态儿子1"); } public void IsSon2(){//Son类里的非静态方法 System.out.println("成功调用另一个类里的非静态儿子2"); } } 12345678910
方法的重载
可变参数
又叫不定项参数
类型:例如int…a
ps:
只能放在最后一个且
一个方法里面只能有一个
特殊输出句
System.err.print输出为红色
(具体不理解)
1.形式参数:就是调用的方法中需要输入的参数。
public static void add(int x,int y){
}(这里的x,y就是)
2.实际参数:方法调用时属于的参数。
public static void main(String[] args){
int a=5;
int b=6;
add(a,b);
(a,b就是)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律