20220722-变量作用域

变量作用域知识总结

来源:B站韩顺平老师Java入门教学

代码示例

class Cat {
	// 1.全局变量/成员变量/属性
	// 2.作用域为整个类,也可以在其它类中使用
	// 3.成员变量在定义时可以直接赋值
	// 4.成员变量可以不赋值,会进行默认初始化
	// 5.成员变量可以使用访问修饰符,而局部变量不可以使用
	public int age = 10;
	double weight;
	{
		// 1.局部变量也指代码块中定义的变量
		int num = 100;
	}
	public void cry() {
		// 1.局部变量一般指成员方法中定义的变量
		// 2.n与name都是局部变量
		// 3.n与name的作用域为cry方法的{}中
		// 4.局部变量必须初始化后使用,没有默认值
		int n = 10;
		int m;
		String name = "jack";
//		String name = "jack";
		System.out.println("在cry方法中使用age=" + age);
//		System.out.println("在cry方法中使用m=" + m);
		// 5.成员变量与局部变量可以重名,遵循就近原则
		System.out.println("(成员变量)1.在cry方法中使用weight=" + weight);
		double weight = 10;
		System.out.println("(局部变量)2.在cry方法中使用weight=" + weight);
	}
	public void eat() {
		// 6.同一个作用域中不能定义同名的变量,不同作用域中可以
		String name = "jack";
		System.out.println("在eat方法中使用age=" + age);
		System.out.println("在eat方法中使用weight默认值=" + weight);
//		System.out.println("在eat方法中使用cry方法中的n=" + n);
//		System.out.println("在eat方法中使用代码块中的num=" + num);
	}
}
posted @ 2022-07-22 11:04  淡忘的江南  阅读(66)  评论(0)    收藏  举报