关闭

继承

标签: 继承
234人阅读 评论(0) 收藏 举报

继承:在面向对象编程中可以通过一个扩展一个已有类病继承该类的属性和行为。来创建一个新的类这种方式叫继承。

super():调用指定的父类构造方式。能且只能写在构造方式的第一句。

object:超类。  所有类的都能继承object。

方法重写是用在继承。方法名一致,参数列表一致。类型一致。

注意:子类是不能继承父类构造函数。

final 变量前面为常量。类前面这个类不能被继承。方法前面不能被重写。


public class Polygon {
private int sides;  //边数
private double area;  //面积

public Polygon(){

}
public Polygon(int sides){
System.out.println("在Polygon类的构造器中");


public int getNumberOfSides(int sides){
System.out.println("边数为:"+sides);
return sides;
}

public String toString(){
String s = "面积:"+area+"边数为:"+sides;
return s;
}



package day2;
public class Triangle extends Polygon{
private int base;   //底部
private int height;//高

public Triangle(){

}
public Triangle(int base,int height){
super(3);
this.base = base;
this.height = height;
System.out.println("在Triangle类的构造器中");
}
public String toString(){
String s = "底为:"+base+",高为:"+height;
return s;
}

public int getArea(){
int area = 1/2*(base*height);
return area;
}
}


package day2;
public class RigthTriangle extends Triangle{
private double hypotenuse;    //指三角形斜边
public RigthTriangle(){

}
public RigthTriangle(int base,int height){
super(base,height);
hypotenuse = Math.sqrt(base*base+height*height);
System.out.println("在RigthTriangle构造器中");
}

public double getHypotenuse() {
return hypotenuse;
}
public void setHypotenuse(double hypotenuse) {
this.hypotenuse = hypotenuse;
}
public String toString(){
String s = super.toString() + "斜边:"+hypotenuse;
return s;
}
}



package day2;
public class TsetDemo1 {
public static void main(String[] args) {
new Triangle(3,4);

System.out.println("~~~~~分区~~~~~~~~\n");

RigthTriangle rig = new RigthTriangle(3,5);
System.out.println(rig.toString());
rig.getArea();
rig.getNumberOfSides(3);
}
}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:4103次
    • 积分:222
    • 等级:
    • 排名:千里之外
    • 原创:19篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类