1、抽象类概念
抽象类前使用abstract关键字修饰,则为抽象类
2、抽象类的应用场景
a、在某些情况下,一个父类只知道其子类应该包含某些方法,但是不能确切的知道如何实现这些方法
b、从多个具有相同特征的类中抽象出一个抽象类,以这个类作为子类的模板,从而避免了子类设计的随意性
3、作用
限制规定子类必须实现哪些方法,但是不关注实现细节。
现在我来试试自己写代码
抽象类
package com.imooc;
public abstract class Shape {
public abstract void area();//注意 抽象方法没有方法体
public abstract void grith();
}
长方形类
package com.imooc;
public class Rectangle extends Shape {
public void area() {
// TODO Auto-generated method stub
System.out.println("长方形的面积等于长乘以宽 ");
}
public void grith() {
// TODO Auto-generated method stub
System.out.println("长方形的周长等于两倍的长和宽的和");
}
}
圆类
package com.imooc;
public class Circle extends Shape {
public void area() {
// TODO Auto-generated method stub
System.out.println("圆的面积等于Pi乘以半径的平方");
}
public void grith() {
// TODO Auto-generated method stub
System.out.println("圆的周长等于PI乘以半径乘以2");
}
}
实现
package com.imooc;
public class InitialShape {
public static void main(String[] args) {
// TODO Auto-generated method stub
Shape shape=new Rectangle();
shape.area();
shape.grith();
Shape shape2=new Circle();
shape2.area();
shape2.grith();
}
}
运算结果为
长方形的面积等于长乘以宽
长方形的周长等于两倍的长和宽的和
圆的面积等于Pi乘以半径的平方
圆的周长等于PI乘以半径乘以2