Java变量的初始化及静态方法的实现


本文向大家介绍Java变量的初始化及静态方法的实现,包括了Java变量的初始化及静态方法的实现的使用技巧和注意事项,需要的朋友参考一下

这篇文章主要介绍了Java变量的初始化及静态方法的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

1.变量初始化

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

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

在main函数中第一次输出是200,第二次是300,这是因为第一次调用的是默认构造函数,而类中的变量在之前已经初始化,而构造函数并不能改变变量的值所以变量值是初始化框里的200,第二次调用了带参数的构造函数,构造函数直接将值返回,就算构造函数在前输出的值也一样都是300.

2.如何在静态方法中调用非静态方法和字段

package treat;

public class treat {
  
  public int dg=0;
  void fun()
  {
    System.out.println("hello world!!");
  }
  static void play(treat a)//通过形参传递对象实现非静态方法的调用
  {
    a.fun();
    a.dg=8;//调用对象改变非静态字段的值
    System.out.println(a.dg);
  }
  public static void main(String args[])
  {
    treat a=new treat();
    treat.play(a);
  }
}

在上面的程序中可以发现可以通过形参传递对象的方法来调用非静态方法和字段。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#yiidian.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。