【java考试】this赋值的用法[选择题] java中的赋值问题?

作者&投稿:当涂音 (若有异议请与网页底部的电邮联系)
这个属于基础问题。
你这个类的名称叫做Base,有两个显式构造方法Base(int a,int b)(以下简称构造A)和
public Base(int a, int b, int c, int d)(以下简称构造B),
这个题的意思是要在构造B中对变量x,y进行赋值,也就是 x=a, y=b,而构造A方法中恰好提供了这个解决方案,只要在构造B中调用构造A方法即可。
在java基础中,在构造方法中调用其他的重载构造方法使用的关键字如下:
调用本类的:this()
调用父类的:super()
this字如其意,就是“这个类”的意思,this.x可以读作"这个类的x变量"。调用构造函数就直接用this(你需要调用的构造方法的参数列表).
super表示调用父类的,很多书籍把父类翻译成超类,也是对该词的直接翻译造成的。
具体的你可以多看下面向对象部分的讲解。

在java中,this关键字有两种用法:
1、用于区分全局变量和局部变量,以及区分成员变量和方法参数

2、用于调用构造函数。(此处指的是调用自身的构造函数,调用父类则用base()函数)

--- 考题代码中,当实例化四个参数对象时,回调自身双参构造函数,从而达到全部参数赋值的效果,其实也是绕了个圈子

多余的不说,看以下代码,还有别的用处,就不一一解释了
Public String str="";
Public int No="";
public DataList(String pcStr,int count) { // pcStr与count 是传的值
this.str=pcStr;
this.No=count;
this.width();//this可用可不用
}
private void width(){
double width = Toolkit.getDefaultToolkit().getScreenSize().getWidth();
double height = Toolkit.getDefaultToolkit().getScreenSize().getHeight();
this.setLocation((int) (width - this.getWidth()) / 2, (int) (height - this.getHeight()) / 2);
}

this指的是当前对象。。在这就是Base。。。
Base(a,b);就是调用当前对象的构造方法。。。。所以选D。。

D.,this指针指向类本身,super指向基类,用于派生类,

【JAVA】如何处理变量要反复赋值的问题~

a被定义成了成员变量,不能在方法外赋值,下面是个小例子:
public class Relnt {
int a = 10;
public static void main(String []args) {
a = 100;
}
}

要向对象b1,b2中传值需要写a类的构造函数,用构造函数传值.
要比较对象b1,b2中的值是否相等,需要在a类中重写equals函数.
完整的改写后的a类的Java程序如下
class a {
String name;
a(String name){
this.name=name;
}
public boolean equals(Object obj){
a e=(a)obj;
if (name == null) {
if (e.name != null)
return false;
} else if (!name.equals(e.name))
return false;
return true;
}
public static void main(String[] args) {
String a1="1",a2="1";
System.out.println(a1.equals(a2));
a b1=new a("Jack");
a b2=new a("Jack");
System.out.println(b1.equals(b2));
}
}
源代码

运行结果

Java里面的this关键字是什么意思
答:this.age = age;} public String getGender() { return gender;} public void setGender(String gender) { this.gender = gender;} } 官方定义 this 是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针。this 的用法在 Java 中大体可以分为3种:1.普通的直接引用 这种就不用...

Java中构造函数,getset和this的用法?
答:this.name是当前对象name属性值;setName里的this.name是当有其他的地方调用setName方法时,将传入的名字赋值给当前对象

java 这是一个this相关的问题
答:总之一句话,因为要封装,所以要私有化成员变量,所以要定义方法来赋值,定义方法来提供给外界使用,所以你经常看到 getXXX() setXXX()这些方法。其实我个人感觉 一般这些方法的程序都是一些很有水平的程序员写的。。。关于this 有一个很通俗的解释,就是谁调用我,this就代表谁。。。虽然不一定准确 ...

请问Java编程中的this.age=age;等号左右两边各代表什么?
答:this是java中的一个指向当前对象的引用,也就是说,你实例化一个对象的时候,可以在对象内部使用this引用对象本身。因此this.age=age;的意思是说,将当前对象的age属性,赋值为age,后面的age是从外部传入的一个参数。

以下java代码中的this表示的是什么,可以用什么来替换,求解?
答:this代表当前对象 大部分this可以不写,但重名时必须得写,如一类中有类变量value (int类型)有一setValue函数 其参数也是value,就是将参数value的值赋值给类变量value,这时必须使用this 如下 public void setValue(int value){ this.value=value;//总不能写成value=value吧 } ...

java中this和super的用法
答:在Java中,this通常指当前对象,super则指父类的。当你想要引用当前对象的某种东西,比如当前对象的某个方法,或当前对象的某个成员,你便可以利用this来实现这个目的,当然,this的另一个用途是调用当前对象的另一个构造函数,这些马上就要讨论。如果你想引用父类的某种东西,则非super莫属。由于this与...

java get方法中this.属性=参数 与 属性=参数 有什么不同
答:this是指代当前对象,因为涉及到参数名和属性名相同的情况,程序需要知道到底是用哪个值赋值给哪个的。需要特别指明;如果不指名,那么直接用a=a就是说将参数a的值赋值给参数a,这个是由变量的作用范围决定的。如果是要给属性赋值,那是一定要加this的。

我们Java实验报告的问题,求帮忙!大佬,!谢谢大佬
答:这里的代码没有错。只是p=p无意义。this指代当前调用对象。p=this.p。p优先指的本作用域的变量,那就是setP方法中的入参。如果想给类的成员变量赋值,使用 实例.成员变量 的方式来实现。我把这个方法修改一下。setP(int p, C c){ c.p=p;} 这样理解了吧。c是类C的实例。把小c换成this。

this.a=a 这个java语句含义是什么?
答:this.a代表是这个类的实例的变量,该setA方法所属的类肯定有个a变量,this.a指的就是它,而后面的a是调用该方法是传进来的int a参数,其实这就是一个赋值语句。而get(),set()方法就是对一个类中私有的属性对外可见,可以调用的方法,get()是得到某个属性的值,而set则是根据传入的值改变该...

c#或java里子类对象赋值给父类有什么用,举几个例子啊。
答:用Student类来继承Person public class Student extends Person{ private String stuName;private int age;private double score;public Student() { super();// TODO Auto-generated constructor stub } public Student(String stuName, int age, double score) { super();this.stuName = stuName;thi...