Java-this和static关键字

1.this关键字

this关键字是什么:

  • 在类的方法定义中使用的this关键字代表使用该方法的对象的引用。
  • this可以看作是一个变量,它的值是当前对象的引用。
  • 当this出现在某个方法体中时,谁在调用这个方法,this就代表谁。

什么情况下使用this关键字:

  • 当必须指出当前使用方法的对象是谁时要使用this。
  • 有时使用this可以处理方法中成员变量和参数重名的情况。
  • this关键字最大的作用就是让类的一个方法,访问该类的另一个方法或实例变量。
public class Cat {
	int i = 0;
	Cat(int i){ this.i = i; }
    public void run(){
        System.out.println("正在执行run方法");
    }
    public void jump(){
        this.run();
        System.out.println("正在执行jump方法");
    }
}

2.static关键字

  • 在类中,用static声明的成员变量为静态成员变量,它为该类的公用变量,在第一次使用时被初始化,对于该类的所有对象来说,static成员变量只有一份。
  • 用static声明的方法为静态方法,在调用该方法时,不会将对象的引用传递给它,所以在static方法中不可访问非static的成员。
    • 静态方法不再是针对于某个对象调用,所以不能访问非静态成员
  • 可以通过对象引用或类名(不需要实例化)访问静态成员。
public class Cat {
    private static int sid = 0;
    private String name; 
    int id;
    Cat(String name) {
        this.name = name;  
        id = sid++;
    }
    public void info(){
        System.out.println
               ("My name is "+name+" No."+id);
    }
    public static void main(String arg[]){
    	System.out.println(sid);//0
    	//System.out.println(id);  //java: 无法从静态上下文中引用非静态 变量 id(static方法中不可访问非static的成员)
        Cat.sid = 100;//类名.静态变量
        Cat mimi = new Cat("mimi");
        mimi.sid = 2000;//对象.静态变量
        Cat pipi = new Cat("pipi");
        mimi.info(); 
        pipi.info();
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值