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

  • 相关阅读:
    链路的有效性检测 及 基于TCP的通信为什么需要RETRY
    python join
    协程
    python socket 选项
    Spring @Resource、@Autowired、@Qualifier的区别
    maven插件
    代码中的特殊注释
    AOP 底层技术比较
    关于Android开发中的证书和密钥等问题
    tomcat部署web项目的3中方法
  • 原文地址:https://www.cnblogs.com/zhou-x/p/11697677.html
Copyright © 2011-2022 走看看