举例详解----静态方法与非静态方法的使用区别

public class TestStatic {
	
	//定义一个静态的成员变量,该变量属于整个类,不属于单独的某一个实例,所有对象共有
	public static String name;
	
	public static void print() {
		System.out.println("====static方法被调用了====");
	}
	TestStatic a1 = new TestStatic();
	TestStatic a2 = new TestStatic();
	TestStatic a3 = new TestStatic();
	
	
	public void test() {
		
		//static int i = 6; //编译出错,局部变量不能用static修饰
		int i=6;
		TestStatic.print();	//在非静态方法中,可以直接采用类名.方法名的形式调用静态方法
		TestStatic a4 = new TestStatic();
		a4.print();			//在非静态中,可以直接使用对象名.方法名的形式去调用静态方法
		test2();			//在非静态方法中,可以直接使用方法名的形式去调用另外一个非静态方法
		a4.test2();			//在非静态方法中,可以采用对象名.方法名的形式去调用另外一个非静态方法
		
	}
	public void test2() {
		
	}
	public static void test3() {
		int i = 6;
		TestStatic.print();	// 静态方法中,可以采用类名.方法名的形式调用静态方法
		TestStatic a5 =new TestStatic();
		a5.print();    		//在静态方法中,可以直接使用对象名.方法名的形式去调用静态的方法,但是,不推荐
		
		//test2();			//静态方法中不可以直接采用方法名的形式去调用一个非静态方法
		TestStatic a6 = new TestStatic();
		a6.test2();			//在静态方法中可以采用对象名.方法名的形式去调用另外一个非静态方法
	}
}
发布了13 篇原创文章 · 获赞 26 · 访问量 331

猜你喜欢

转载自blog.csdn.net/weixin_42131843/article/details/105001118