java实例方法的调用,讲解

public class thisTest{
	public static void main(String[] args) {
	
		thisTest aa = new thisTest();    //创建对象
		aa.doSome();
	}
	//实例方法,引用的时候必须创建对象,通过,引用. 的方法访问
	public void doSome() {			
		System.out.println("Hello!");
	}
}

当在另一个实例方法内调用实例方法时,有

public class thisTest{
	public static void main(String[] args) {
	
		thisTest aa = new thisTest();
		aa.doSome();
		aa.run();
	}
	//实例方法,引用的时候必须创建对象,通过,引用. 的方法访问
	public void doSome() {			
		System.out.println("Hello!");
	}
	public void run(){
		System.out.println("Nice to meet you!");
		doSome();//省略的写法
		this.doSome();//完整的写法,在大多数的情况下this可以省略


	}
}

这时java编译器就不会报错,这是因为run方法也是实例方法,在调用run方法时,一定是通过 引用.run 来调用的,这时在调用run方法中的class中一定存在对象

结论:

1,在带有static关键字的方法中不能 “直接“ 访问实例方法和实例变量,因为实例方法和实例变量都需要对象的存在,
2,上述代码中的引用aa即表示关键字this.由于static方法中是没有this的,也就是说当前对象是不存在的,自然也就无法访问实例方法和实例变量
3,访问实例——>找对象——>没有对象——>无法访问

你可能感兴趣的:(java)