当前位置:首页 » 编程语言 » javathis成员变量

javathis成员变量

发布时间: 2025-10-02 02:01:34

‘壹’ java中的成员变量、类变量,成员方法、类方法各是什么,怎么区分,

成员变量:包括实例变量和类变量,用static修饰的是类变量,不用static修饰的是实例变量,所有类的成员变量可以通过this来引用。

类变量:静态域,静态字段,或叫静态变量,它属于该类所有实例共有的属性。而且所有的实例都可以修改这个类变量的值(这个类变量没有被final修饰的情况),而且访问类变量的时候不用实例,直接用类名.的方式就可以。

成员方法:包括实例方法和类方法,用static的方法就是类方法,不用static修饰的就是实例方法。实例方法必须在创建实例之后才可以调用。

类方法:和类变量一样,可以不用实例,直接用类就可以调用类方法。

举例:

classDemo{
intx;//x是实例变量,也是成员变量
staticinty;//y为类变量,也是成员变量
publicintx(){//该方法为实例方法,是成员方法
returnx;
}
publicstaticvoidsetX(intx1){//该方法为类方法,也是成员方法
x=x1;
}
}

‘贰’ 本人java新手菜鸟,请问java this关键字到底指的是成员变量还是方法里的参数值

有this表示的是成员变量,没有this修饰的就近原则,那个离他进就是哪个。比如成员变量跟参数都是握乎尺同一个名(例 int age)。在方法里面,有this修饰的就是表示成员,没有的就是参数。都没有修饰,就表示是离他近的参数啦。。
当然这个回答只是回答了你的问题、
扩展一下内容吧=====
(当虚拟机创建一个对象,会创建一个指针指向自己)this就表示引用自己的指针,所以在静态或静态的代码快中不能有this,因为没有创建对象。
总结一下,其实this主要要三种用法:
1、表示顷行对当前对象的引用!
2、表示用类的成员变量,而非函数参数,注意在函数参数和成员变量同名是进行区分!其实这是第一种用法的特例,比较常用,所以那出来强调一下。
3、用于在构造方法中引用满足指定参数类型的构造器(其实也就是构造方法)。但是这里必须非常注意:只能引用一个构造方法且必须位于开始!
还有就是注意:this不能用在static方法中!所以甚至有人给static方法的定义就是:没有this的方法!虽然夸张,但是却充分说明this不能在static方法中使用!
说明在什么情况下需要用到this:
第一、通过this调用另一个构造方法,用发是this(参数列表),这个仅仅在类的构造方法中,别的地方不能这么用。
第二、函数参数或者函数中的局部变量和成员变量同名的情况下,成员变量被屏蔽,此段高时要访问成员变量则需要用“this.成员变量名”的方式来引用成员变量。当然,在没有同名的情况下,可以直接用成员变量的名字,而不用this,用了也不为错,呵呵。
第三、在函数中,需要引用该函所属类的当前对象时候,直接用this。
其实这些用法总结都是从对“this是指向对象本身的一个指针”这句话的更深入的理解而来的,死记不然容易忘记而且容易搞错,要理解!

‘叁’ java中的this.name=name,this 中的name 和后面的name有啥么区别和作用,

在Java编程中,this.name和name在方法中具有不同的含义。具体而言,在构造方法中,this.name指的是类的成员变量,即类定义中的private String name。这里,this关键字用于明确标识当前对象的成员变量,以便区分与方法参数同名的变量。

另一方面,name指的是构造方法中的方法参数,即Test(String name)中的name。它是一个局部变量,仅在该方法的作用域内有效。当执行this.name=name这行代码时,实际上是将方法参数name的值赋给当前对象的成员变量name。

通过这种方式,程序员可以在一个方法中使用和类中的成员变量同名的参数,而不会引起混淆。例如,在Test(String name)构造方法中,name参数用于初始化成员变量name。这种方式在处理大量同名变量时特别有用,可以提高代码的可读性和灵活性。

此外,this关键字在Java中用于引用当前对象的实例变量或调用当前对象的方法。在构造方法中,this可以用于区分实例变量和方法参数。如果没有this关键字,那么name将被视为方法参数,而不是类的成员变量。

总之,this.name和name在Java中的区别主要在于它们所在的上下文。this.name指的是类的成员变量,而name指的是方法参数。正确使用this关键字可以帮助程序员编写更清晰、更易于维护的代码。

‘肆’ JAVA 中super 和this 的区别

区别如下:

1、指代上的区别

(1)super:是对当前对象中父对象的引用。

(2)This:指当前对象的参考。

2、引用对象上的区别

(1)super:直接父类中引用当前对象的成员(当基本成员和派生类具有相同成员时,用于访问直接父类中隐藏父类中的成员数据或函数定义)。

(2)This:表示当前对象的名称(程序中容易出现歧义的地方,应该用来表示当前对象;如果函数的成员数据与该类中成员数据的名称相同,应用于表示成员变量名称)。

3、调用函数上的区别

(1)super:在基类中调用构造函数(是构造函数中的第一条语句)。

(2)This:在此类中调用另一个结构化的构造函数(是构造函数中的第一条语句)。

热点内容
服务器邮件服务怎么关闭 发布:2025-10-02 04:06:01 浏览:673
android创建service 发布:2025-10-02 03:44:40 浏览:830
做pscad的台式电脑要什么配置 发布:2025-10-02 03:37:16 浏览:32
thrift加密 发布:2025-10-02 03:27:15 浏览:849
宝骏310最低配置是哪个版 发布:2025-10-02 03:26:39 浏览:315
python字典数组 发布:2025-10-02 03:07:46 浏览:87
反编译之后原签名还有吗 发布:2025-10-02 03:03:35 浏览:676
松加密码 发布:2025-10-02 02:49:39 浏览:368
圣岛季光遇安卓什么时候上线 发布:2025-10-02 02:47:38 浏览:843
pythonfor赋值 发布:2025-10-02 02:47:27 浏览:125