最新公告
  • 欢迎您光临立业阁,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • java中静态方法与实例方法的区别_Java教程


    静态方法和实例方法的区别主要体现在两个方面:

    在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。

    静态方法在访问本类的成员时,只允许访问静态成员(即静态成员变量和静态方法),而不允许访问实例成员变量和实例方法;实例方法则无此限制。

    下面几个例子展示了这一区别。

    1、调用静态方法实例

    public class hasStaticMethod{
    //定义一个静态方法
    public static void callMe(){
      System.out.println("This is a static method.");
    }
    }

    下面这个程序使用两种形式来调用静态方法。

    public class invokeStaticMethod{
      public static void main(String args[]){
      hasStaticMethod.callMe(); //不创建对象,直接调用静态方法  
      hasStaticMethod oa = new hasStaticMethod();  //创建一个对象
      oa.callMe();   //利用对象来调用静态方法
    }
    }

    程序两次调用静态方法,都是允许的,程序的输出如下:

    This is a static method.This is a static method.

    允许不创建对象而调用静态方法,是Java为了减少程序员调用某些常用方法时的麻烦,而允许程序员按照传统的C语言中使用函数的方式来使用方法。

    2、静态方法访问成员变量示例

    class accessMember{
    private static int sa; //定义一个静态成员变量
    private int ia; //定义一个实例成员变量
    //下面定义一个静态方法
    static void statMethod(){
      int i = 0;  //正确,可以有自己的局部变量sa = 10;  
      //正确,静态方法可以使用静态变量
      otherStat(); 
      //正确,可以调用静态方法
      ia = 20;  //错误,不能使用实例变量
      insMethod(); //错误,不能调用实例方法
    }
    static void otherStat(){} 
    //下面定义一个实例方法 
    void insMethod(){
      int i = 0;  //正确,可以有自己的局部变量
      sa = 15;  //正确,可以使用静态变量
      ia = 30;  //正确,可以使用实例变量
      statMethod();  //正确,可以调用静态方法
    }
    }

    本例其实可以概括成一句话:静态方法只能访问静态成员,实例方法可以访问静态和实例成员。之所以不允许静态方法访问实例成员变量,是因为实例成员变量是属于某个对象的,而静态方法在执行时,并不一定存在对象。

    同样,因为实例方法可以访问实例成员变量,如果允许静态方法调用实例方法,将间接地允许它使用实例成员变量,所以它也不能调用实例方法。基于同样的道理,静态方法中也不能使用关键字this。

    main()方法是一个典型的静态方法,它同样遵循一般静态方法的规则,所以它可以由系统在创建对象之前就调用。

    推荐教程:Java教程

    以上就是java中静态方法与实例方法的区别的详细内容,更多请关注liyege.cn其它相关文章!

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    • 1188会员总数(位)
    • 111862资源总数(个)
    • 6本周发布(个)
    • 2 今日发布(个)
    • 248稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情
    冀ICP备19022365号-1 百度地图

    侵权联系邮箱[email protected]

    立业阁(www.liyege.cn)免费提供wordpress主题模板、dedecms模板、帝国cms模板、小说网站源码、电影网站源码以及网络技术分享,建站源码,小说模板,电影模板,网赚教程,VPS推荐