java作用域

admin2024-05-15  0

主函数区

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方法中使用它

结果

但如果我们自己的方法中有了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类。用来调用前面对象的属性,

还有就是

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


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!