当前位置:首页 » 编程语言 » javathis省略

javathis省略

发布时间: 2022-07-10 08:34:19

java里面的this.在什么情况下可以省略吧,哪位大神可以帮我下啊!

没有局部变量与this指向的变量重名时可以省略。

⑵ 什么时候可以省略this java

比方说有两个类,A,B,当你的类A继辰自类B时,在类A理面调用类B的方法时,可以省略this,就是说你原来要写成this.xxxx()方法。现在只需要写成xxxx()方法就可以了,这样说你懂了吗???

⑶ java中this的用法

java中this有两种用法:
1、代表当前类
public class Dog{
private String name;
private float age;
public setName(String name){
this.name = name;
}
.......
}
这里的this就代表的当前的这个Dog类。this.name可以理解为dog.name,只是理解,不是等于。
2、在构造函数中的使用
public class Dog{
private String name;
private int age;
//有一个参数的构造函数
public Dog(String name){
this.name = name;
}
public Dog(String name,int age){
this.name = name;
this.age = age;
}
//这个无参构造方法里调用的有两个参数的构造方法,这个也就是this的第二种用法了!
public Dog(){
this("nihao",20);
}
}

⑷ Java:关于类中的this,这两种情况对比后,第一种写法中的this是省略了吗还是有其他机制

两方面解释吧,一.java类里面的方法(函数),缺省带入当前对象this,比如你的public void A(),实际上应该是public void A(this),编译器在编译的时候会补上this,当前对象的一个引用或者说指针
二.java就近原则。就比如你现在需要写字,你桌子上有支笔,书房里也有只一样的笔,此时,你肯定会拿起桌子上的笔来写字,而不会跑去书房拿另外一支。java也是这样的
综上,在同一个类里面,引用类中方法或函数,加或者不加this都是一样的。但是编译的时候,肯定会统一成this.B(),因为JAVA里面万事万物皆对象,只有实例化的对象才能调用方法(也可以说是发送或处理消息),否则就是nullPointException,空指针异常

⑸ 关于android开发(java开发)中this的问题

通俗讲,this指本类,如:
public
class
Main
extends
Activity
{
。。。
GridView
gridview
=(GridView)
findViewById(R.id.gridview);
gridview.setAdapter(newImageAdapter(this));
。。。
}
代码第二行的this指Main.this
Android很多控件运行是有条件的,就是所谓的运行环境,就是Context(上下文),Context就是一系列环境变量,控件的运行是基于这些变量的。
我也是花很多时间才真正体会到this,Context概念的,这个概念非常重要,慢慢体会吧。

⑹ java中 this的定义

this是对象内部指代自身的引用,同时也是解决成员变量和局部变量同名问题;

this关键字可以简单的理解为,谁调用this所在的方法,this就是谁。

this可以调用成员变量,不能调用局部变量;

this也可以调用成员方法,但是在普通方法中可以省略this,在构造方法中不允许省略,必须是构造方法的第一条语句,而且在静态方法当中不允许出现this关键字。

⑺ java this 的用法

this表示你当前这个对象的实例。
调用自己类的方法或者属性时,用this.propertyName和this.methodName(),此时this通常可以省略

比如人作为一个对象,作为一个实例化的自己,this就是“我”的概念。

⑻ java 父类普通方法中调用重写方法,省略的this代表的是谁,希望提供完整说明

this关键字代表的是当前类的引用,你这里new了一个子类对象,调用从父类那里继承的show()方法,就像是子类也有一个一样的show()方法,所以这里this 代指引用对象z,在执行this.doSome(),实际就是执行z.doSome(),希望可以帮到你

⑼ 求:JAVA中this的三种用法的详解!!!谢谢 !

这个详解,我找资料给你吧

8.8.1 this关键字
this关键字代表自身,在程序中主要的使用用途有以下几个方面:
 使用this关键字引用成员变量
 使用this关键字在自身构造方法内部引用其它构造方法
 使用this关键字代表自身类的对象
 使用this关键字引用成员方法
8.8.1.1 引用成员变量
在一个类的方法或构造方法内部,可以使用“this.成员变量名”这样的格式来引用成员变量名,有些时候可以省略,有些时候不能省略。首先看一下下面的代码:
/**
* 使用this引用成员变量
*/
public class ReferenceVariable {
private int a;

public ReferenceVariable(int a){
this.a = a;
}

public int getA(){
return a;
}

public void setA(int a){
this.a = a;
}
}
在该代码的构造方法和setA方法内部,都是用this.a引用类的成员变量。因为无论在构造方法还是setA方法内部,都包含2个变量名为a的变量,一个是参数a,另外一个是成员变量a。按照Java语言的变量作用范围规定,参数a的作用范围为构造方法或方法内部,成员变量a的作用范围是类的内部,这样在构造方法和setA方法内部就存在了变量a的冲突,Java语言规定当变量作用范围重叠时,作用域小的变量覆盖作用域大的变量。所以在构造方法和setA方法内部,参数a起作用。
这样需要访问成员变量a则必须使用this进行引用。当然,如果变量名不发生重叠,则this可以省略。
但是为了增强代码的可读性,一般将参数的名称和成员变量的名称保持一致,所以this的使用频率在规范的代码内部应该很多。
8.8.1.2 引用构造方法
在一个类的构造方法内部,也可以使用this关键字引用其它的构造方法,这样可以降低代码的重复,也可以使所有的构造方法保持统一,这样方便以后的代码修改和维护,也方便代码的阅读。
下面是一个简单的示例:
/**
* 使用this关键字引用构造方法
*/
public class ReferenceConstructor {
int a;

public ReferenceConstructor(){
this(0);
}

public ReferenceConstructor(int a){
this.a = a;
}
}
这里在不带参数的构造方法内部,使用this调用了另外一个构造方法,其中0是根据需要传递的参数的值,当一个类内部的构造方法比较多时,可以只书写一个构造方法的内部功能代码,然后其它的构造方法都通过调用该构造方法实现,这样既保证了所有的构造是统一的,也降低了代码的重复。
在实际使用时,需要注意的是,在构造方法内部使用this关键字调用其它的构造方法时,调用的代码只能出现在构造方法内部的第一行可执行代码。这样,在构造方法内部使用this关键字调用构造方法最多会出现一次。
8.8.1.3 代表自身对象
在一个类的内部,也可以使用this代表自身类的对象,或者换句话说,每个类内部都有一个隐含的成员变量,该成员变量的类型是该类的类型,该成员变量的名称是this,实际使用this代表自身类的对象的示例代码如下:
/**
* 使用this代表自身类的对象
*/
public class ReferenceObject {
ReferenceObject instance;

public ReferenceObject(){
instance = this;
}

public void test(){
System.out.println(this);
}
}
在构造方法内部,将对象this的值赋值给instance,在test方法内部,输出对象this的内容,这里的this都代表自身类型的对象。
8.8.1.4 引用成员方法
在一个类的内部,成员方法之间的互相调用时也可以使用“this.方法名(参数)”来进行引用,只是所有这样的引用中this都可以省略,所以这里就不详细介绍了。

⑽ Java中,在构造方法里调用本类中的方法是不是可以省略this

可以

Java关键字this只能用于方法方法体内。当一个对象创建后,Java虚拟机(JVM)就会给这个对象分配一个引用自身的指针,这个指针的名字就是this。因此,this只能在类中的非静态方法中使用,静态方法和静态的代码块中绝对不能出现this,这在“Java关键字static、final使用总结”一文中给出了明确解释。并且this只和特定的对象关联,而不和类关联,同一个类的不同对象有不同的this。

热点内容
阿里云独享服务器 发布:2024-05-19 02:23:54 浏览:252
织梦源码ga 发布:2024-05-19 02:23:20 浏览:570
java文件名后缀 发布:2024-05-19 02:14:39 浏览:955
快手点榜脚本 发布:2024-05-19 02:08:44 浏览:162
pythonforinkeys 发布:2024-05-19 01:55:44 浏览:792
电脑如何局域网共享文件夹 发布:2024-05-19 01:25:01 浏览:68
手机存储越大性能越好吗 发布:2024-05-19 01:14:28 浏览:176
我的世界hyp服务器怎么玩 发布:2024-05-19 00:51:25 浏览:801
手机如何解压百度云文件 发布:2024-05-19 00:32:24 浏览:905
centos使用python 发布:2024-05-18 23:39:48 浏览:869