成员变量在static中的使用

/*
 我想通了执行顺序:
 1 、main中  执行mt.i的时候 , 使用变量i的时候,i必须要先初始化,怎么初始化呢,必须先执行等号右边,
 等号右边是要调用 f()方法,执行结束以后,再带着返回值赋值给等号左边,所以全自动执行的

 2、静态方法中可以使用成员变量,只要在这个方法中创建这个变量所对应的对象就可以调用使用了

 3、为什么要先创建对象,必须要先创建,才能持有这个变量所在的对象的地址,只有知道地址才能引用。

*/

public class MethodTest{
    int i = f();
    int j = g(i);
	int m = 3;
    int f()
	{
		return 11;
	}

    int g(int n)
	{
		return n * 11;
	}
    public static void main(String[] args)
	{

        MethodTest mt = new MethodTest();
       // mt.f();
        System.out.println(mt.i);
		System.out.println(mt.m);
     }
}



错误代码示范:

import java.awt.*;

public class Test2 extends Frame
{
	public Test(String s)
	{
		super(s);
	}

	MenuBar  mb = new MenuBar();
	Menu m = new Menu("菜单");
	MenuItem mi = new MenuItem("保存文件");
	CheckboxMenuItem  cb = new CheckboxMenuItem("复选菜单",true);
    

	public static void main(String[] args)
	{
		
		Test ts = new Test("测试窗口");

		ts.setMenuBar(mb); //静态方法中 没有mb变量的对象的引用
		ts.mb.add(m);//静态方法中 没有m变量的对象的引用
		ts.m.add(mi);//以此类推,所以这个代码是错误的
		ts.m.add(cb);
		ts.setVisible(true);
		ts.pack();
	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值