博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java基础语法-方法的定义、调用以及static关键字的使用
阅读量:5094 次
发布时间:2019-06-13

本文共 1857 字,大约阅读时间需要 6 分钟。

方法的定义:

         类的方法一般表示类的行为或某种功能。

         方法定义的格式:

                 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) {

                                      方法体语句;

                                      return 返回值;

                                 }

          方法的格式说明

                 修饰符:目前就用 public static。后面我们再详细的讲解其他的修饰符。

                 返回值类型:就是功能结果的数据类型。

                 方法名:符合命名规则即可。方便我们的调用。

                 参数:

                        实际参数:就是实际参与运算的。

                        形式参数;就是方法定义上的,用于接收实际参数的。

                        参数类型:就是参数的数据类型

                         参数名:就是变量名

                 方法体语句:就是完成功能的代码。

                 return:结束方法的。

                 返回值:就是功能的结果,由return带给调用者。

   方法的调用:在main函数中调用方法,让方法执行起来

   方法的形参:方法要什么参数我们就给什么类型的参数

   方法的返回值:方法返回什么类型的值我们就用对应的数据类型的变量来接收。

   调用方法的执行流程:a: 方法的定义是没有顺序的,写在main函数的上边或者下边都可以。

                                       b: 方法的执行,是把实参传递给形参,从而来执行的。

                                       c: 方法只有被调用才会执行。

方法的重载:

            在同一个类中,方法名相同,参数列表不同。与返回值类型无关。

            参数列表不同:

                     1、参数个数不同

                     2、参数类型不同

                     3、参数的顺序不同(算重载,但是在开发中不用)

      例:public static int getSum(int a,int b){

                     System.out.println("两个int参数");

                     return a+b;

              }

              public static int getSum(int a,int b,int c){

                     System.out.println("三个int参数");

                     return a+b+c;

              }

              public static double getSum(double a,double b){

                     System.out.println("两个double参数");

                     return a+b;

              }

方法重载注意事项

1、参数列表必须不同

              2、重载和参数变量名无关

              3、重载和返回值类型无关

              4、重载和修饰符无关

static关键字:

static关键字一般修饰成员变量,成员方法或者编写static代码块优化程序性能;

静态变量:

static修饰成员变量时,该变量为静态变量,静态变量属于整个类所有,而不是某个对象所有,即被类的所有对象所共享。静态成员可以使用类名直接访问,也可以使用对象名进行访问。

静态方法:

与静态变量一样,我们也可以使用 static 修饰方法,称为静态方法或类方法。其实之前我们一直写的 main 方法就是静态方法。静态方法的使用如:

public class Hello{

   public static void print(){

       System.out.println(“你好”);

}

       public static void main(String[] args){

   //直接使用类名调用静态方法

   Hello.print();

   //使用类对象名调用

   Hello demo=new Hello();

   demo.print();

}

}

static修饰的方法成为类的方法,使用时通过“类名.方法名”的方式就可以方便的使用了,相当于定义了一个全局的函数(只要导入该类所在的包即可)。所以,相应的,非静态方法则还是要通过实例化对象,再通过“对象.方法名”的方式访问了。

 

进一步,由于静态方法可以直接通过类名调用,说明调用静态方法的时候,是不存在对象的,所以,静态方法中不能有this与super关键字!并且由于这个特性,在静态方法中不能访问类的非静态成员变量和非静态成员方法,因为非静态成员方法/变量都是必须依赖具体的对象才能够被调用,即使存在类实例化的对象,也不清楚具体调用哪一个对象的非静态成员变量或者方法。

静态方法只能访问所属类的静态成员变量和成员方法。

但是反过来,非静态方法是可以访问静态方法与静态成员变量的。

静态代码块:

static关键字还有一个比较关键的作用就是 用来形成静态代码块以优化程序性能。static块可以置于类中的任何地方,类中可以有多个static块。在类初次被加载的时候,会按照static块的顺序来执行每个static块,并且只会执行一次。

转载于:https://www.cnblogs.com/y867177356/p/10846623.html

你可能感兴趣的文章
ubuntu编译运行xv6
查看>>
02-Mysql数据库----初识
查看>>
SqlServer中union 和 union all的区别
查看>>
C#条件编译,发布多平台和多种选择性的项目
查看>>
python 笔记数据类型
查看>>
如何用php开启企业微信开发的回调模式
查看>>
UAC在注册表中的对应位置
查看>>
机器为什么可以学习(2)---一般化理论
查看>>
集合和Iterator迭代器
查看>>
IO—》File类
查看>>
Web前端学习笔记(三)——input标签的属性
查看>>
BZOJ.3262.陌上花开([模板]CDQ分治 三维偏序)
查看>>
BZOJ.1312.[Neerc2006]Hard Life(分数规划 最大权闭合子图)
查看>>
js的concat函数、join 、slice函数及二维数组的定义方式
查看>>
Vue的单页应用中如何引用单独的样式文件
查看>>
html5利用getObjectURL获取图片路径上传图片
查看>>
学习资料
查看>>
hread.interrupt()到底意味着什么
查看>>
寒假训练总结
查看>>
equals与==的区别
查看>>