首页 > 其他 > 详细

静态方法与非静态方法的区别

时间:2019-10-18 13:37:03      阅读:54      评论:0      收藏:0      [点我收藏+]

静态方法:

外部调用静态方法时,可以直接通过【类名.静态方法名】的方式调用,也可以通过创建类的对象来调用。

非静态方法:

非静态方法的调用只能通过【对象.非静态方法名】的方式调用。

例:

现分别有一个静态方法method1、非静态方法method2

    public static void method1(){

      System.out.println("这是静态滴...");

    }

    public void method2(){

      System.out.println("这是非静态滴...");

    }

在调用时:

method2---------【step1: ClassName class1 = new ClassName();

        step2:  class1.method2;        】

method1 --------ClassName.method1(或者同上方法)

 

**

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

同样,因为实例方法可以访问实例成员变量,如果允许静态方法调用实例方法,将间接地允许它使用实例成员变量,所以它也不能调用实例方法。

基于同样的道理,静态方法中也不能使用关键字this。

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

 

静态方法与非静态方法的区别

原文:https://www.cnblogs.com/zhou-x/p/11697677.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!