this关键字最全解释

您所在的位置:网站首页 在类声明中提供类标志的关键字是 this关键字最全解释

this关键字最全解释

2023-12-16 19:50| 来源: 网络整理| 查看: 265

this关键字:

关键字,代表当前类对象可以代表当前类还没有产成的对象,代表当前类刚创建的对象,代表当前正在使用的对象,this是灵活的指代,是虚拟的,可以指代当前类正在活动的对象当一个类被创建的时候,java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是this,因为this在对象创建的时候才有,所以this只能在类中的非静态方法中使用,静态方法和静态代码块中绝对不能出现this,因为静态资源和类关联,this和类对象关联,所以不同的对象不同的this,this指针是灵活的指代地址,最初始没有地址的是虚拟的this语句–在同一个类中的构造方法里调用其他别的构造方法—必须要在首行----this(参数)this可以调用其他的非构造方法,this.m();由于子类可以获取父类的属性,所以this也可以在子类中出现调用父类的方法,一个类中可以出现多个this语句this只能出现在方法中,作为变量的应用调用其他资源this.用于创建对象的时候进行属性的初始化,用于指定自身,方法调用的对象可以是this public Person(int i){ this.i=i; this.m(); System.out.println("我是父类的构造方法"); } int i=0; public Person(){ this(5); System.out.println("我是父类的构造方法"); this.m(); System.out.println(this); return ; } public void m(){ }

为什么要有this—>java中为了解决变量的命名冲突和不确定性问题,引入this关键字代表当前方法所在对象的引用

构造方法中指出该构造器所创键的新对象方法中指出调用该方法的对象在类本身的方法或构造器中引用该类的实例变量(全局变量)和方法this只能用在构造器或者方法中,用于获的调用当前的构造器方法的对象引用,可以和任何对象一样来处理this这个对象

小提示:

当实例变量和局部变量重名时,java将会先找局部变量在去找实例变量,即如果方法中使用到的变量寻找规律是 先寻找局部,在寻找实例变量,如果没有找到则编译错误如果使用this.a,则不会在方法(局部变量)中寻找变量a,而是去实例中寻找变量a,如果找不到将会编译错误在一个方法内,如果没有出现局部变量和实例变量的重名的话,this区分就没有必要了在同一个类中,java普通方法的互相调用可以省略this+点号,而直接使用方法名即可,因为编译器会帮我们加上

注意:java中为什么在static中不能使用this关键字

Static方法是类方法,先于任何的实例(对象)存在。即Static方法在类加载时就已经存在了,但是对象是在创建时才在内存中生成。而this指代的是当前的对象

在方法中定义使用的this关键字,它的值是当前对象的引用.也就是说你只能用它来调用属于当前对象的方法或者使用this处理方法中成员变量和局部变量重名的情况.

而且,更为重要的是this和super都无法出现在static 修饰的方法中,static 修饰的方法是属于类的,该方法的调用者可能是一个类,而不是对象.如果使用的是类来调用而不是对象,

则 this就无法指向合适的对象.所以static 修饰的方法中不能使用this.



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3