首页 > 技术文章 > Java学习——this、this()、super 和 super()的使用

caiyishuai 2018-10-29 17:53 原文

编写程序:说明 this、super 和 super()的用法。程序首先定义 Point(点)类,然后创建点的子类 Line(线)),最后通过 LX7_3 类输出线段的长度。

package Pack1;

public class Try2 {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Line line = new Line(50, 50);
        System.out.println("\n" + line.toString());

    }

}
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;
    Line(int a,int b){
        super(a,b);//设置父类的x,y为50,50
        setLine(a,b);
    }
    public void setLine(int x, int y) {
        //设置子类的x,y为100,100
        this.x = x + x;
        this.y = y + y;
    }
    public double Length(){
        //super是父类的
        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();
    }
}

 

 

推荐阅读