zoukankan      html  css  js  c++  java
  • java--实例成员 & 静态成员

    class run{
        static String str1 = "静态变量";
     String str2 = "非静态变量";
     public static void test1(){
      System.out.println("静态方法");
      run r1 = new run();
      System.out.println(r1.str1);//对象可以使用静态变量
    //  System.out.println(str2);//错误,静态方法中不能直接访问非静态的变量,可以使用 【对象.变量】来访问。
      
      System.out.println(str1);
     }
     public void test2(){
      System.out.println("非静态方法");
      System.out.println(str1);//非静态的方法可以访问静态变量。
     }
    }
    public class Test {
     public static void main(String[] args) {
      run.test1();
      System.out.println(run.str1);
      
      run r2 = new run();
      r2.test2();
      System.out.println(r2.str2);
      
     }
    }
    


    //静态方法只能访问静态成员,实例方法可以访问静态和实例成员。
    //之所以不允许静态方法访问实例成员变量,是因为实例成员变量是属于某个对象的,
    //而静态方法在执行时,并不一定存在对象。同样,因为实例方法可以访问实例成员变量,
    //如果允许静态方法调用实例方法,将间接地允许它使用实例成员变量,所以它也不能调用实例方法。
    //基于同样的道理,静态方法中也不能使用关键字this。
    //
    //main()方法是一个典型的静态方法,它同样遵循一般静态方法的规则,所以它可以由系统在创建对象之前就调用。

  • 相关阅读:
    LightOj 1016
    uva 127 "Accordian" Patience 简单模拟
    hdu 1180 诡异的楼梯 BFS + 优先队列
    UVALive 3907 Puzzle AC自动机+DP
    HDU 4001 To Miss Our Children Time DP
    HDU 4000 Fruit Ninja 树状数组
    hdu_1021_Fibonacci Again_201310232237
    hdu_1005_Number Sequence_201310222120
    hdu_1029-Ignatius and the Princess IV_201310180916
    hdu_1020_Encoding_201310172120
  • 原文地址:https://www.cnblogs.com/plxx/p/3331479.html
Copyright © 2011-2022 走看看