黑马程序员技术交流社区
标题:
关于this 和 this ()的问题
[打印本页]
作者:
★魔_➩τ咒
时间:
2014-5-24 09:03
标题:
关于this 和 this ()的问题
java中的this 和 this() 虽然在视频里看到有所了解,但是具体到对象中怎么应用,求清晰的解释!谢谢......
作者:
gentleman
时间:
2014-5-24 09:25
this(有参数/无参数) 用于调用本类相应的构造函数
super(有参数/无参数) 用于调用父类相应的构造函数
this. 后跟方法或属性 指示本类的方法或属性
super. 后跟方法或属性(父类中指明的public )
作者:
youcyou
时间:
2014-5-24 10:05
this 表示调用方法的对象
例如要调用一个长度就可以this.length()
this()调用本类的构造方法
例如
Person(String name)
{
this();//调用下面的空参数构造方法
this.name=name;}
Person()
{
this.name=null;
}
作者:
心?=忐§忑]
时间:
2014-5-24 10:31
/*
this: 表示当前对象的应用,这时,可以通过this访问成员变量和实例方法
this(): 调用无参构造方法
*/
class Person
{
private String name ;
public Person()
{
System.out.println("先调用了无参构造方法") ;
}
public Person(String name)
{
this() ; //调用无参构造函数,放在第一句
this.name = name ; //指定是本类对象的name,然后赋值传递进来的name
}
public void show()
{
System.out.println("姓名:" + name) ; //此语句中隐藏着this关键字
}
}
public class ThisDemo
{
public static void main(String args[])
{
Person per = new Person("acai") ; // 实例化对象
per.show() ;
}
}
复制代码
作者:
927233671
时间:
2014-5-24 10:51
this.是本类对象调用本类中的普通方法,this()是调用本类空参数的构造函数
作者:
yinxjfly
时间:
2014-5-25 01:50
gentleman 发表于 2014-5-24 09:25
this(有参数/无参数) 用于调用本类相应的构造函数
super(有参数/无参数) 用于调用父类相应的构造函数
thi ...
回答的真心不错,感觉很厉害哈1
作者:
宋大人-专注
时间:
2014-6-8 10:32
还没注意到,忽视了
作者:
Solomon
时间:
2014-6-8 12:48
对啊,忽然想起这一块忘了好多!!!
作者:
sanjiadiankeli
时间:
2014-6-8 13:38
谁调用,this就是谁
作者:
倪大大
时间:
2014-6-8 13:55
你记住this是指向本类对象的
java类中很多地方是省略了this的,
this.xxx 代码 表示本类对象调用
this() 就表示本类对象调用构造函数
作者:
sam9204
时间:
2014-6-8 14:52
this 调用本类的方法或属性 this() 调用本类构造方法
作者:
七弦
时间:
2014-6-8 15:05
this关键字和this语句
作者:
黑马粉、峥
时间:
2014-6-8 15:41
this 是指向本类对象的,谁调用 this.方法 this就指向谁, 而 this() 代表的是本类的构造方法相当于一个空的无参数的构造方法
作者:
liujie445012100
时间:
2014-6-8 20:01
this关键字这个,表示当前对象,this.属性 ,this.方法
this()表示调用无参的构造方法,
this(name)表示有参的构造方法
super调用父类对象,同理
作者:
blackstones1
时间:
2014-6-8 20:55
学习下 大家加油
作者:
汤姆纳斯
时间:
2014-6-9 00:57
这方面的知识又了解了下
作者:
、海
时间:
2014-6-14 09:51
学习学习
作者:
GYSWL
时间:
2014-8-22 23:28
学习了……
作者:
王者之风西昆仑
时间:
2014-12-23 14:30
请问this和super在使用的时候有什么区别吗?
作者:
dimost
时间:
2014-12-25 23:13
学习了 学习了
作者:
43453186@qq.com
时间:
2015-3-14 07:55
不错,学习
作者:
张红兴
时间:
2015-4-6 00:54
本帖最后由 张红兴 于 2015-4-6 00:56 编辑
java中this有两种用法:
1、代表当前类
publicclassDog{
privateStringname;
privatefloatage;
publicsetName(Stringname){
this.name=name;
}
.......
}
这里的this就代表的当前的这个Dog类。this.name可以理解为dog.name,只是理解,不是等于。
之所以要用this.name=name;这种语法,这是java所提倡的写法,如果你的方法参数与类属性的名称不同,this大可不必要,但是java提倡构造方法参数与类属性名称相同的作法。
2、在构造函数中的使用
publicclassDog{
privateStringname;
privateintage;
//有一个参数的构造函数
publicDog(Stringname){
this.name=name;
}
publicDog(Stringname,intage){
this.name=name;
this.age=age;
}
//这个无参构造方法里调用的有两个参数的构造方法,这个也就是this的第二种用法了!
publicDog(){
this("nihao",20);
}
}
作者:
daividtu
时间:
2015-11-9 10:15
嗯 学习了
作者:
图兰朵
时间:
2016-3-28 02:36
顶一个!!!!!
作者:
lz19918888
时间:
2016-4-28 19:44
this.带表当前类,this()是调用有参构造
作者:
innovator
时间:
2016-6-1 08:55
gentleman 发表于 2014-5-24 09:25
this(有参数/无参数) 用于调用本类相应的构造函数
super(有参数/无参数) 用于调用父类相应的构造函数
thi ...
言简意赅
作者:
zhubin4615
时间:
2016-9-10 09:31
顶一个!!!!!厉害
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2