这篇文章主要介绍了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); } }
在上面的程序中可以发现可以通过形参传递对象的方法来调用非静态方法和字段。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持IIS7站长之家。