java中this、super的使用



/*

this、super、super()的使用
*/


class Point
{
protected int x,y;
Point(int a,int b){setPoint(a,b);} //构造方法
public void setPoint(int a,int b){x=a;y=b;}
}


class Line extends Point
{
protected int x,y;    //隐藏了父类的x和y
Line(int a,int b){
super(a,b);
setLine(a,b);
}


public void setLine(int x,int y)
{
this.x = x + x;   //子类的x
this.y = y + y;   //子类的y
}


public double length()
{
int x1=super.x,y1=super.y,x2=this.x,y2=this.y;
return Math.sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
}


public String toString()
{
return "直线的起点:[" + super.x + "," + super.y + "] 直线的终点是:["
+ x + "," + y + "] 直线的长度是: " + this.length();
}
}






class Go
{
public static void main(String[] args) 
{
Line L = new Line(50,50);
System.out.println(L.toString());
}
}
/*
this
在一个类中,this表示对当前类的引用,在使用类的成员时隐含this的引用,例如
Length和toString中对x和y的使用,虽然不是明确地写出,其实已经隐含其中了。
当一个类被实例化为一个对象后,this就是对象名的另一种表示,通过this可以顺利
地访问对象,凡在需要使用对象名的地方都可以用this来替代。

super
如果子类的变量隐藏了父类的变量,使用不加引用的变量一定是子类的变量,如果使用父类的变量,

就必须加上super引用。同样的道理,如果有方法覆盖的发生,调用父类的方法时也必须加上super引用。

*/



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值