码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2019-10-17 21:39:46      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:默认   bsp   block   通过   int   new   image   class   ati   

1.变量初始化

 1 package treat;
 2 class InitializeBlockClass
 3 {
 4     public int field=100;
 5     {
 6         field=200;
 7     }
 8     public InitializeBlockClass(int value)
 9     {
10         this.field=value;
11     }
12     public InitializeBlockClass()
13     {
14         
15     }
16 }
17 
18 public class treat {
19     public static void main(String args[])
20     {
21         InitializeBlockClass obj=new InitializeBlockClass();
22         System.out.println(obj.field);
23         obj=new InitializeBlockClass(300);
24         System.out.println(obj.field);
25     }
26 }

技术图片

 

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

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

 1 package treat;
 2 
 3 public class treat {
 4     
 5     public int dg=0;
 6     void fun()
 7     {
 8         System.out.println("hello world!!");
 9     }
10     static void play(treat a)//通过形参传递对象实现非静态方法的调用
11     {
12         a.fun();
13         a.dg=8;//调用对象改变非静态字段的值
14         System.out.println(a.dg);
15     }
16     public static void main(String args[])
17     {
18         treat a=new treat();
19         treat.play(a);
20     }
21 }

技术图片

 

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

  

  

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

标签:默认   bsp   block   通过   int   new   image   class   ati   

原文地址:https://www.cnblogs.com/w669399221/p/11695261.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!