java虚拟机·会给每个变量分配一个this代表当前对象。
方法怎么能少括号呢?
this 是一个隐藏的属性,他指向谁引用他的那个对象。
import java.util.Scanner;
public class Change{
public static void main(String[] args){
Persion p1 = new Persion("milan",56);//直接付初始值
System.out.println(p1.name + " " + p1.age );
Persion p2 = new Persion();
System.out.println(p2.age);
}
}
class Persion{
String name;
int age ;
// 写一个构造器
// 构造器没有返回值,也没有void
// 名字就是类的名字
// 形参列表个原来一样。
// 构造器也能进行重载
public Persion(String pName,int pAge){
// 完成初始化,完成对象的属性初始化
System.out.println("我被调用啦");
name = pName;
age = pAge;
}
// 第二个构造器,只指定人名,并不指定年龄
public Persion(){
// 无参构造器
age= 18;
}
}
还是那句话,谁调用它,this就代表那个对象,对象中有会有相应的属性,就可以使用属性啦,进行判断。
传递的参数可以是一个对象。
import java.util.Scanner;
public class Change{
public static void main(String[] args){
Persion p1 = new Persion("网名",18);
Persion p2 = new Persion("小在",23);
boolean n = p1.compareTo(p2);
System.out.println(n);
}
}
class Persion{
String name;
int age ;
Persion(String name ,int age ){
this.name = name;
this.age = age;
}
public boolean compareTo(Persion p){
if ((this.name).equals(p.name) && (this.age) == p.age) {
return true;
}else{
return false;
}
}
}