JavaSE---抽象类

1、前言

    某些情况下,父类只是知道子类应该有什么方法,而不知道具体如何实现。

      eg:Shape类中应该有个计算周长的方法,而不同的子类由具体不同的实现;

      ***解决1:

        不管父类,直接在子类中定义方法;

      产生的问题:

        假设有一个Shape类引用变量,而实际引用的是Shape类子类的实例(Shape s=new ShapeZi();),当s调用计算周长方法时,必须进行强制转换,才可以调用,降低程序的灵活性;

      ***解决2:

        使用抽象方法;

2、抽象类、抽象方法的规则:

    1.1  抽象类、抽象方法必须使用abstract修饰,抽象方法不能有方法体;

    1.2  抽象类不能被实例化(即使抽象类中有构造器、抽象类中只有普通方法);

    1.3  抽象类中可以包含 属性、构造器、初始化块、内部类、枚举、方法(普通方法、抽象方法);

猜你喜欢

转载自www.cnblogs.com/anpeiyong/p/10468991.html
今日推荐