java类this
❶ 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();作用是什么,只在构造方法中出现吗
java中this关键字有三个作用:
区别全局变量和局部变量
在方法中this表示谁调用该方法 this就代表谁
例如:public void show(){
Synchronized(this){
……}
}
同步代码块表示 哪个对象调用该方法 就得到哪个对象的对象锁
构造器中this()表示调用形式参数相同的同一个类中的另一个构造器,这样就可以代码复用
就拿你那段代码来说 this()就表示调用该类中 名称是Note 形参是空的构造器 让里面的代码在这个有参的构造器中再跑一遍
❸ 对于java中this关键字的理解
this关键字可以简单的理解为,谁调用this所在的方法,this就是谁。
类的构造函数与getter、setter方法常用到this关键字(JavaBean)
JavaBean是一种可重用的Java组件,它可以被Applet、Servlet、SP等Java应用程序调用.也可以可视化地被Java开发工具使用。它包含属性(Properties)、方法(Methods)、事件(Events)等特性。
public class Person {
//==========静态属性===========
//--想学编程的可以来我这看看----
private String name; //姓名
private int age; //年龄
private String gender; //性别
//==========动态行为===========
public void readBook(String book) {
System.out.println("reading " + book);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;//this.name就是上面的private String name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
}
官方定义
this 是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。
this 的用法在 Java 中大体可以分为3种:
1.普通的直接引用
这种就不用讲了,this 相当于是指向当前对象本身。
2.形参与成员名字重名,用 this 来区分:
class Person {
private int age = 10;
public Person(){
System.out.println("初始化年龄:"+age);}
public int GetAge(int age){
this.age = age;
return this.age;
}
}
public class test1 {
public static void main(String[] args) {
Person Harry = new Person();
System.out.println("Harry's age is "+Harry.GetAge(12));
}
}
希望对您有所帮助!~
❹ this()在java中什么意思
this表示类实例本身。
this的用法:
1、表示对当前对象的引用!
publicclassA{
publicAgetA(){
returnthis;//表示获取当前实例本身
}
}
2、表示类的成员变量,而非函数参数,注意在函数参数和成员变量同名是进行区分!
publicclassA{
privateinta=0;//位置1
publicAgetA(inta){
this.a=a;//前面this.a表示位置1的a,赋值=号右侧的表示参数a
}
}
3、用于在构造方法中引用满足指定参数类型的构造器。
publicclassA{
publicA(inta){
}
publicA(){
this(1);//这里调用自身的构造函数publicA(inta){
}
}
❺ JAVA中this有什么作用
我也来说几句吧,呵呵! 希望用通俗的语言,让你能明白this的作用!
其实this关键字是很容易理解的,下面我举两个例子作对比,可能你就看明白了:
没有使用this的情况:
class A
{
private int aa,bb;//声明两个整形变量
public int returnData(int x,int y) //一个返回整形数的方法
{
aa = x;
bb = y;
return aa + bb;
}
}
使用this的情况
class A
{
private int aa,bb;//声明两个整形变量
public int returnData(int aa,int bb) //一个返回整形数的方法
{
this.aa = aa;//第一个aa是全局变量的aa,后一个aa是参数aa
this.bb = bb;//第一个bb是全局变量的bb,后一个bb是参数bb
return (this.aa + this.bb);
}
}
结论:
上面的两个类,本质是相同的,而为什么在第类中使用this关键字呢,注意到第类中的方法returnData(int aa,int bb),形式参数分别为aa和bb,刚好和“private int aa,bb;”这里的变量名是一样的,现在问题来了:在returnData的方法体中如何区别形式参数aa和全局变量aa,两 个 bb也是如此?这就是引入this关键字的用处所在了!this.aa表示的是全局变量的aa,而没有加this的aa表示形式参数的aa,bb也是如此!
建议:
在编程中,过多的使用this关键字不是好方法。这从上面也看得出来,相同的变量名加上this关键字过多时,有时会让人分不清哪个是对哪个。这时可以使用以下方法修改,避免使用this关键字:
class A
{
private int aa,bb;//声明两个整形变量
public int returnData(int aa1,int bb1)
{
aa = aa1;//在aa后面加上一数字1加以区分,其他以此类推
bb = bb1;
return aa + bb;
}
}
总结:
可以看出,上面的,,都是一样的,但既避免了使用this关键字,又避免了中x和y 这种参数意思不明确的缺点.所有建议使用一样的方法!
以上是我的个人心得,原创发贴!希望你能看懂,呵呵!献丑了!
❻ java中的this问题
我理解的是,this代表这个类本身,对于F.java这个类而言,相当于在说“我”,方法b中调用了this.a(),可以理解为方法b调用了“我的a方法”。
对于这个例子而言,其实加不加this,结果都一样,但对于这个例子就有用了:
假设有一个类叫G.java,其拥有一个和F.java一模一样的方法a:
public class G {
public void a(Object args1) {
}
}
并且此时,F继承自G:
public class F extends G{
public void a(Object args1) {
}
public void b(String args2) {
this.a(args2);
super.a(args2);
}
此时注意我上面写的b方法,b方法中既要调用F自己的a方法,又要调用父类G中的a方法,为防止出现歧义,我们在调用F的a方法时,就使用this作为修饰;调用G的a方法时,就使用super作为修饰,这样就一目了然不是吗。
然后如果不加this,比如b方法定义为:
public void b(String args2) {
a(args2);
}
其实默认就是调用了F自身的a方法,可以理解为不加this时,java会默认给它加上this。
另外说一下你的例子如何输出一个东西,你需要在你的a方法里加上比如:
public void a(Object args1) {
System.out.println(args1.toString());
}
在你的main函数中不要传入null,否则将引起空指针异常,你可以传入比如:
public static void mian(String[] args) {
new F().b("哈哈哈");
}
这样运行时最终会在控制台输出“哈哈哈”
❼ java中“this”的用法是什么
一、指自己所在的对象。
比如在一个方法中,调用其他对象的变量或方法时,可以使用那个对象的对象名,比如aa.abc();
而调用自己所在对象的方法或变量时,不知道别人给起了什么名,所以直接用this.abc()就可以了。
二、看一个小例子中“this”的用法!
/**
* @author feng-neusoft
*
* 本示例为了说明this的三种用法!
*/
package test;
public class ThisTest {
private int i=0;
//第一个构造器:有一个int型形参
ThisTest(int i){
this.i=i+1;//此时this表示引用成员变量i,而非函数参数i
System.out.println("Int constructor i——this.i: "+i+"——"+this.i);
System.out.println("i-1:"+(i-1)+"this.i+1:"+(this.i+1));
//从两个输出结果充分证明了i和this.i是不一样的!
}
// 第二个构造器:有一个String型形参
ThisTest(String s){
System.out.println("String constructor: "+s);
}
// 第三个构造器:有一个int型形参和一个String型形参
ThisTest(int i,String s){
this(s);//this调用第二个构造器
//this(i);
/*此处不能用,因为其他任何方法都不能调用构造器,只有构造方法能调用他。
但是必须注意:就算是构造方法调用构造器,也必须为于其第一行,构造方法也只能调
用一个且仅一次构造器!*/
this.i=i++;//this以引用该类的成员变量
System.out.println("Int constructor: "+i+"/n"+"String constructor: "+s);
}
public ThisTest increment(){
this.i++;
return this;//返回的是当前的对象,该对象属于(ThisTest)
}
public static void main(String[] args){
ThisTest tt0=new ThisTest(10);
ThisTest tt1=new ThisTest("ok");
ThisTest tt2=new ThisTest(20,"ok again!");
System.out.println(tt0.increment().increment().increment().i);
//tt0.increment()返回一个在tt0基础上i++的ThisTest对象,
//接着又返回在上面返回的对象基础上i++的ThisTest对象!
}
}
运行结果:
Int constructor i——this.i: 10——11
String constructor: ok
String constructor: ok again!
Int constructor: 21
String constructor: ok again!
14
细节问题注释已经写的比较清楚了,总结一下,其实this主要要三种用法:
1、表示对当前对象的引用!
2、表示用类的成员变量,而非函数参数,注意在函数参数和成员变量同名是进行区分!其实这是第一种用法的特例,比较常用,所以那出来强调一下。
3、用于在构造方法中引用满足指定参数类型的构造器(其实也就是构造方法)。但是这里必须非常注意:只能引用一个构造方法且必须位于开始!
还有就是注意:this不能用在static方法中!所以甚至有人给static方法的定义就是:没有this的方法!虽然夸张,但是却充分说明this不能在static方法中使用!
❽ Java里面的this关键字是什么意思
this关键字可以简单的理解为,谁调用this所在的方法,this就是谁。
类的构造函数与getter、setter方法常用到this关键字(JavaBean)
JavaBean是一种可重用的Java组件,它可以被Applet、Servlet、SP等Java应用程序调用.也可以可视化地被Java开发工具使用。它包含属性(Properties)、方法(Methods)、事件(Events)等特性。
public class Person {
//==========静态属性===========
//--想学编程的可以来我这看看----
private String name; //姓名
private int age; //年龄
private String gender; //性别
//==========动态行为===========
public void readBook(String book) {
System.out.println("reading " + book);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;//this.name就是上面的private String name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
}
官方定义
this 是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。
this 的用法在 Java 中大体可以分为3种:
1.普通的直接引用
这种就不用讲了,this 相当于是指向当前对象本身。
2.形参与成员名字重名,用 this 来区分:
class Person {
private int age = 10;
public Person(){
System.out.println("初始化年龄:"+age);}
public int GetAge(int age){
this.age = age;
return this.age;
}
}
public class test1 {
public static void main(String[] args) {
Person Harry = new Person();
System.out.println("Harry's age is "+Harry.GetAge(12));
}
}
希望对您有所帮助!~
❾ java中的this是什么意思
this代表当前对象的意思。
这个this肯定是用在某个类的方法里吧。呵呵,我们继续往下说。
举个例子:
public class persion{
private String name=null;
private int age;
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
}
在这个类中setName方法中第一个变量用this是为了和本方法的参数this做区别,表示这个name指的是Person这个类的name属性,而不是name参数,如果去掉这个this,执行完这个方法后,Person类的name属性仍然为null
getName方法返回的Person类的name,之所以不用this是因为没有必要,因为编译器会知道这个name就指的是Person的name而不是其他的name(因为找个方法没有name变量和它混淆)。当然,这个方法你也可以显示的使用return this.name,没错。
这些都是最基本的了。开始学只要记住这个就可以了。慢慢的其他的用法也就无师自通了!
❿ java 的this的运用
在java中,this关键字有很多种用法。 在java中,这是一个引用当前对象的引用变量。
java this关键字的用法如下:
this关键字可用来引用当前类的实例变量。
this关键字可用于调用当前类方法(隐式)。
this()可以用来调用当前类的构造函数。
this关键字可作为调用方法中的参数传递。
this关键字可作为参数在构造函数调用中传递。
this关键字可用于从方法返回当前类的实例。
建议:如果你是java初学者,只学习 this 关键字的前三个用法就可以了。
更详细可以查询一些教程,例如:https://www.yii.com/java/this-keyword.html