java作用域

发布于:2024-05-16 ⋅ 阅读:(62) ⋅ 点赞:(0)

在面对对象中,变量作用是非常重要知识点

1 重要的变量是属性(成员变量)和局部变量

2局部变量在成员方法中定义的变量 cat类:cry

全局变量:属性。局部变量,方法中的变量

我们先来看看吧

主函数区

public class overload{

	//编写一个main方法
	public static void main(String[] args) {
		
	mycalculator m=new mycalculator();
		//可变参数的实参可以为数组,对象的属性是要到对象没了后,方法的变量在执行完后消失

	//属性可以在本类或者对象调用其他的对象中使用。方法只能在本类中
	m.sy();
	m.say();
		
		// my.calculate(1,122);
		// my.calculate("这些数掌握了吗");
		
	}
}

方法区

class mycalculator{
	//全局变量,也就是属性,作用域为整个类。方法可以直接使用属性

	int age=10;//可以指定age=10

	public void say(){
		int n=10;
		String name="jack";//这就相当于是局部变量了
		System.out.println(n);
		System.out.println(name);
		System.out.println(age+"年纪");


	}
	
}

可看到,我在类的属性里面加了一个age的属性,它也可以叫做全局变量

我们在sy方法中使用它

 
        System.out.println(age+年纪);
 

结果

10年纪

但如果我们自己的方法中有了age

	public void say(){
		int n=10;
		int age=11;
		String name="jack";//这就相当于是局部变量了
		System.out.println(n);
		System.out.println(name);
		System.out.print(age+"年纪");

	}

这个时候age就会变为11了。因为是就近原则,遵循的是在调用时,谁离它近就用哪个


注意

  • 局部变量不能重名
	public void say(){
		int n=10;
		int n=11;
		String name="jack";//这就相当于是局部变量了
		System.out.println(n);
		System.out.println(name);
		System.out.print(age+"年纪");

	}
  • 属性可以在本类或者对象调用其他的对象中使用。方法中的变量只能在本类中实现

	T t=new T();
	mycalculator mu=new mycalculator();
	t.sau(mu);
	





		// my.calculate(1,122);
		// my.calculate("这些数掌握了吗");
		
	}
}
class mycalculator{
	//全局变量,也就是属性,作用域为整个类。方法可以直接使用属性

	int age=10;//可以指定age=10

	
	// public void calculate(String a,int... nuns){//表示是可变参数,类型是int 可以接受多个int
	// 	System.out.print("接受的参数个数"+nuns.length+a);
	// }
}
class T{
	mycalculator mu=new mycalculator();
	public void sau(mycalculator mu){
		System.out.print(mu.age);
	}
	//三个int的和
}

我在这里新建了一个T类。用来调用前面对象的属性,

还有就是

  • 属性可加修饰符,局部变量不能加修饰符