zoukankan      html  css  js  c++  java
  • 关于静态方法和非静态方法之间的调用

    1、如果在非静态方法里调用非静态方法,则可以用this调用。

    如:this.Hao(String args[]) ,也可以省略this,直接调用Hao(String args[])。

    2、如果在静态方法里调用静态方法,则可以直接使用“类名.方法名”调用。

    如:若被调用的静态方法m1在类Hao1里,则调用方法是

    1 //静态方法里调用静态方法,使用“类名.方法名”调用。
    2 
    3 public static void m()
    4 {
    5     Hao1.m1();
    6 }

    3、如果在静态方法里调用非静态方法,则必须先new一个对象,通过对象调用。

    如:若被调用的非静态方法m2在类Hao2里,则调用方法是

    1 //静态方法里调用非静态方法,先new一个对象,通过对象调用。
    2 
    3 public static void m()
    4 {
    5     Hao2 a=new Hao2();
    6     a.m2();
    7 
    8     //new Hao2().m2();
    9 }

    注意:
    1.静态变量在内存中只有一个拷贝,在类的所有实例中共享
    2.静态方法不能直接访问非静态方法和非静态变量
    3.非静态方法可以访问类的所有成员变量(包括静态成员变量和非静态成员变量)
    4.静态方法和静态变量都可以通过类名直接被访问
    5.静态方法中不能使用this,super关键字

  • 相关阅读:
    JS递归状态回退
    JS中自定义迭代协议
    深入浅出解析cookie与session
    node.js哲学与核心原理
    深入解析canvas画布游戏机制
    final关键字用法
    static关键字用法
    四:Java设计模式之单例模式
    三:java设计模式之工厂模式
    IntelliJ IDEA 设置Java开发自动格式化
  • 原文地址:https://www.cnblogs.com/haojian138/p/3579768.html
Copyright © 2011-2022 走看看