JAVA第五周 动手动脑

public class Example
{
 int x = 3;//类的实例变量,初始化值为3
 static int  y = 4;//类的静态变量,初始化值为4
 public static void method()//静态方法
  {   
   System.out.println("实例变量x = " + new Example().x);//在静态方法中访问类的实例变量需首先进行类的实例化
   System.out.println("静态变量y = " + y);//在静态方法中可直接访问类的静态变量
  }
 
 public static void main(String[] args) 
    {
         Example.method();
         Example ex = new Example();
        System.out.println("x = " + ex.x);
    }
}

 运行截图:

如何在静态方法中访问类的实例成员:

静态方法中访问类的实例变量需首先进行类的实例化,可直接访问类的静态变量。

拓展(菜鸟教程):

通过已创建的对象来访问成员变量和成员方法,如下所示:

/* 实例化对象 */
ObjectReference = new Constructor();
/* 访问类中的变量 */
ObjectReference.variableName;
/* 访问类中的方法 */
ObjectReference.methodName();
 
package 课件测试;

public class Example {

    public static void main(String[] args) {
        
        InitializeBlockClass obj=new InitializeBlockClass();
        System.out.println(obj.field);
    }
}

class InitializeBlockClass{
    {
        field=200;
    }
    public int field=100;
    public InitializeBlockClass(int value){
        this.field=value;
    }
    public InitializeBlockClass(){
        
    }
}

输出结果:

100

300

package 课件测试;

public class Example {

    public static void main(String[] args) {
        
        InitializeBlockClass obj=new InitializeBlockClass();
        System.out.println(obj.field);
    }
}

class InitializeBlockClass{
    public int field=100;
    {
        field=200;
    }
public InitializeBlockClass(int value){ this.field=value; } public InitializeBlockClass(){ } }

  输出结果:

200

300

从这两个例子中可以看出:当初始化一个对象时,按照类定义中的初始化顺序进行初始化,在定义后部分的初始化内容会覆盖之前的初始化效果。

原文地址:https://www.cnblogs.com/zmh-980509/p/9825649.html