this关键字知识点

package com.bjpowernode.javase.Test02;
/**
* 最终结论:
* 在带有static的方法当中,不能“直接”访问实例变量和实例方法
* 因为实例变量和实例方法都需要对象的存在
* 而static的方法当中是没有this的,也就是说当前对象是不存在的
* 自然也是无法访问当前对象的实例变量和实例方法
* @author happy
*
*/
public class ThisTest {

//主方法
public static void main(String[] args) {


//调用dosome
doSome();

//调用dosome

ThisTest.doSome();

//调用doOther对象
//ThisTest.doOther
//【编译错误】 实例方法必须先创建对象,通过引用.的方式访问。


/*
* doOther是实例方法
* 实例方法调用必须有对象的存在
* 以下代码的含义:调用当前对象的doOther方法
* 但由于main方法中没有this,所以以下方法不能调用
* doOther(); 编译错误
* this.doOther(); 编译错误
*/


ThisTest tt = new ThisTest();
tt.doOther();

}
//带有static
public static void doSome(){
System.out.println("do Some!");
}
//不带有static 实例方法
public void doOther(){

//含有this
System.out.println("do Other!");
}
//run是实例方法,调用run方法的一定是有对象存在的
//一定是先创建了一个对象,才能调用run方法
public void run(){

//在大括号中的代码执行过程中一定是存在“当前对象的”
//也就是说这里一定有“this”的存在
System.out.println("run Execute!");

//doOther 是一个实例方法,实例方法调用必须有对象的存在
//以下代码表示的含义就是:调用当前对象的doOther方法
doOther(); //this. 大部分情况下都是可以省略的

this.doOther(); //比较完整的写法
}

}

this关键字知识点

上一篇:微软BI 之SSIS 系列 - 使用 Script Task 访问非 Windows 验证下的 SMTP 服务器发送邮件


下一篇:bat注册为windows service