java面向对象抽象类
1.抽象类是专门设计用来让子类继系,抽象方法必须被子类重写。
在Javn 语言中,捷用 abstract 关做字些饰一个类时,该类就是抽象类,使用abstract关键字修饰一个方法时该方法即为抽象方法。
抽象类和抽象方法的规则如下:
(1)一个抽象类中可以不定义抽象方法,但是只要类中有一个抽象方法,则该类一定是抽象类。
(2)抽象类不能被实例化,即不能被new 创建一个实例对象。
(3)如果一个子类继承一个抽象类,则子类需要通过厦照的方式来重写该抽象类中的所有拍象方法。如果子类设有完全重写抽象父类中所有的抽象方法,则子类仍是抽象的。
(4)抽象方法可以与public、protected 复合使用,但不能与 tinal、private 和 static 复合使用
//创建图形的抽象父类Shape
public abstract class Shape{
private String color;
//定义一个计算周长的抽象方法
public abstract String getType();
//定一个返回图形子类型的方法
//有参构造方法
public Shape(String color){
this.coor=color;
}
public String getColor(){
return color;
}
public void setColor(){
this.color=color;
}
}
//创建圆形类Circle,该类继承父类Shape
public class Circle extends Shape(){
private double r;
public Circle(String color,double r){
super(color);
this.r=r;
}
//重写父类计算周长的方法
public double calc(){
return 2*Math.p1*r;
}
//重写父类获取圆形类型的方法
public double getR(){
return "圆形";
}
}