java中的this语句
发布网友
发布时间:2022-04-22 12:25
我来回答
共5个回答
热心网友
时间:2023-09-23 22:54
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);
}
}
热心网友
时间:2023-09-23 22:55
//Thinking in java 里的内容。。
class This_{
String s = "no";
int i = 0;
This_(String s){
this.s = s; //这里的this.s是说s是这个类的变量而不是形参
System.out.print(this.s);}
This_(int i, String s){
this(s); /*这个就是你的问题,这里的this(s)是说把形参s代入上面的那个构造器,构造器的名字和类名是一样的,你仔细观察一下,this 是这个类的引用,而这个类的名字和构造器的名字一样。。*/
this.i = i;
System.out.println(" "+i);}
}
public class Q9{
public static void main(String[] args){
This_ t = new This_(1,"yes");
This_ h = new This_("Hi");
}
}
/*输出的应该是
yes 1
Hi
*/
/*我可能没说清,看Thinking in java那本书吧,连着构造器那部分一起多看几遍就明白了。。另外 this语句只用在构造器之间而且必须放在第一位这是规定。。*/
热心网友
时间:2023-09-23 22:55
this(...)表示想调用一个构造器,在java中只有在某个构造器中才能使用这种表示方式,且必须把它作为第一条语句,因为程序大体也是顺序执行的,而构造器对于创建对象很重要,所以先让this(...)执行
热心网友
时间:2023-09-23 22:56
class Student{
int id = 01;
String name = "zhangsan";
int age = 18;
pubic Student(){}
public Student(int id, String name)
{
this.id = id;
this.name = name;
}
public Student(int id, String name, int age)
{
this(id, name);
this.age = age;
}
public void toString()
{
System.out.println("id:" + id + "/t" + "name" + name + "/t" + "age" + age);
}
public static void main(String[] args)
{
Student st = new Student(02,"lisi");
Student st1 = new Student(03,"wangwu",20);
System.out.println(st);
System.out.println(st1);
}
}
热心网友
时间:2023-09-23 22:56
调用其他的一个构造方法;
class A{
public void A(){
System.out.println("这是默认构造函数!");
}
public void A(String input){
This();//相当于System.out.println("这是默认构造函数!");
System.out.println(input);
}
}