java面相对象的关键字_java-面向对象-this关键字

构造函数可以被私有化,被私有化后的构造函数不能在初始化对象

/*

this:看上去,是用于区分局部变量和成员变量同名的情况

this的应用:当定义类中功能时,该函数内部要用到调用该函数的对象时,这时用this来表示这个对象

*/

class Person

{

private String name;

private int age;

Person(String name)

{

//name = name; //局部变量name和成员变量name名字相同,输出无结果

// this为什么可以解决这个问题?

// this到底代表的是什么?代表本类的对象,this代表它所在函数所属对象的引用:按个对象在调用this所在的函数,this就代表那个函数

this.name = name;

}

Person(int age)

{

this.age = age;

}

Person(String name, int age)

{

this.name =name; // this在构造函数间的调用,这句等同于 this(name),也等同于p(name),这种调用方式必须放在构造函数的第一行

this.age = age;

}

public void speak()

{

System.out.println("name="+this.name+"...age="+this.age);

}

/*需求:给人定义一个用于比较年龄是否相同的功能,也就是是否是同龄人*/

public boolean compare(Person p)

{

return this.age == p.age;

}

}

class PersonDemo

{

public static void main(String[] args)

{

Person p = new Person("list");

p.speak();

}

}

calss PersonDemo3

{

public static void main(String[] args)

{

Person p1 = new Person(20);

Person p2 = new Person(24);

boolean b = p1.compare(p2);

System.out.println(b);

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值