zoukankan      html  css  js  c++  java
  • 静态方法与非静态方法的区别

    静态方法:

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

    非静态方法:

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

    例:

    现分别有一个静态方法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()方法是一个典型的静态方法,它同样遵循一般静态方法的规则,所以它可以由系统在创建对象之前就调用。

  • 相关阅读:
    HDU4366 Successor 线段树+预处理
    POJ2823 Sliding Window 单调队列
    HDU寻找最大值 递推求连续区间
    UVA846 Steps 二分查找
    HDU3415 Max Sum of MaxKsubsequence 单调队列
    HDU时间挑战 树状数组
    UVA10168 Summation of Four Primes 哥德巴赫猜想
    UESTC我要长高 DP优化
    HDUChess 递推
    HDU4362 Dragon Ball DP+优化
  • 原文地址:https://www.cnblogs.com/zhou-x/p/11697677.html
Copyright © 2011-2022 走看看