java this关键字用法
classE{intx;voidf(){this.x=100;}publicclasstext{publicstaticvoidmain(Stringargs[]){Et...
class E {
int x;
void f(){
this.x=100;
}
public class text{
public static void main(String args[]){
E te=new E();
System.out.println(te.x);
}
}
为什么运行结果是0,而不是100,如果我要得到结果是100,该怎么做? 展开
int x;
void f(){
this.x=100;
}
public class text{
public static void main(String args[]){
E te=new E();
System.out.println(te.x);
}
}
为什么运行结果是0,而不是100,如果我要得到结果是100,该怎么做? 展开
3个回答
展开全部
第一种: 楼主要用构造器
class E {
int x;
//构造器不带返回值,而且名称和类型(E)一样
public E(){
this.x=100;
}
public class text{
public static void main(String args[]){
E te=new E();
System.out.println(te.x);
}
}
第二种: 楼主不用构造器
class E {
int x;
void f(){
this.x=100;
}
public class text{
public static void main(String args[]){
E te=new E();
//调用下赋值方法
te.f();
System.out.println(te.x);
}
}
class E {
int x;
//构造器不带返回值,而且名称和类型(E)一样
public E(){
this.x=100;
}
public class text{
public static void main(String args[]){
E te=new E();
System.out.println(te.x);
}
}
第二种: 楼主不用构造器
class E {
int x;
void f(){
this.x=100;
}
public class text{
public static void main(String args[]){
E te=new E();
//调用下赋值方法
te.f();
System.out.println(te.x);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为你的void f()这个方法根本就没被调用,要得到100,就要在输出之前调用一下这个方法。在System.out.println(te.x);之前加上 te.f();既可以了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
lz 你好
在构造函数中操作吧
class E {
int x;
public E(){//构造函数
this.x=100;
}
public class text{
public static void main(String args[]){
E te=new E();
System.out.println(te.x);
}
}
希望能帮助你啊
在构造函数中操作吧
class E {
int x;
public E(){//构造函数
this.x=100;
}
public class text{
public static void main(String args[]){
E te=new E();
System.out.println(te.x);
}
}
希望能帮助你啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询