Java____This关键词与构造法
构造器也称之为构造方法,主要用于计算机中“堆”的空间开辟以及类中属性的初始化。
this 代指当前对象;this只能在当前类中使用,其所呆滞的对象是根据程序运行顺序来定的,程序运行到某个对象时,this就代指当前对象。
当类中没有明确给出构造器的时候,虚拟机会提供一个默认的无参构造器,但是如果该类中已经有了构造器,那虚拟机就不再提供默认的无参构造器了。大多数情况下,每个类中都要有无参及全部参数的构造器。
1-1运行结果
图中黑框和蓝框即使用的构造器。
单独拿出来以蓝框为例,构造器中只有单个元素,单独使用后效果:
1-2运行结果
当然就如黑框,可以单独把程序四个属性一次性列出,本文只列三个,外加一个无参构造器组合,即
1-3 运行结果
图中this();就是代表上述无参构造器Price;相当于构造器类属性的初始化已经完成取代,随着主函数进出栈完成程序运行。
1-4运行结果
程序运行代码:
package HOMEWORK;
public class homework1 {
public static void main(String[] args) {
shop sf = new shop("洗面奶","火山灰",2);
//shop sf = new shop();
System.out.println(sf.getName()+"----"+sf.getType()+"----"+sf.getPrice()+"----"+sf.getCounts()+"----");
}
}
class shop{
String name;
String type;
int price;
int counts;
public shop() {
price = 50;
}
public shop(String name, String type, int counts) {
this();
this.name = name;
this.type = type;
this.counts = counts;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public int getCounts() {
return counts;
}
public void setCounts(int counts) {
this.counts = counts;
}
}
如果无法编译,请尝试包名,类名一致。
无评有赞,感谢观看!