java抽象类

  抽象:

    关键字: abstract
    抽象的由来:

           1.多个子类中有相同声明的方法,但是方法体不一样,父类抽取该方法之后,无法书写方法体。

           2.因为父类中的方法如果没有方法体看起来很奇怪,所以索性就省略方法体,使用";"结束,但是由于程序无法识别,所以使用关键字abstract修饰没有方法体的方法

           3.程序使用abstract修饰的方法是没有方法体的抽象方法,没有使用abstract修饰的方法是普通的成员方法

           4.因为一个普通事物描述类中无法存放抽象方法,所以要想放抽象方法,该类也需要使用abstract关键字描述为:抽象类

    抽象可以用来描述类和方法:

       --抽象类:public abstract class 类名{

                    类的资源

               }

       --抽象方法: public abstract 返回值类型 方法名(形式参数列表);

     注意:1.定义抽象类时:abstract放在public和class之间, 定义抽象方法时 abstract放在public和返回值类型之间。

          2.抽象方法没有方法体,直接使用分号结束

      抽象的使用:

        1.一般是把抽象类当作父类,普通类当作子类,由子类继承父类

     注意:1.当普通类继承了抽象父类时,必须 1.重写抽象父类中所有的抽象方法(常用)   /    将该子类也描述为抽象类

          2.抽象类中不一定有抽象方法,当一个类中有抽象方法,那么该类一定是抽象类 / 接口               接口 :中也可以放抽象方法   (待会再学)

          3.抽象类虽然有构造方法,但是不能直接创建抽象类对象

      抽象类中可以具有的资源:

          自定义常量:          可以有 / 可以没有

          普通成员变量:        可以有 / 可以没有

          普通成员方法:        可以有 / 可以没有

          静态成员变量:        可以有 / 可以没有

          静态成员方法:        可以有 / 可以没有

          构造方法:            可以有 / 可以没有

          抽象方法:            可以有 / 可以没有

      如何调用抽象类中的资源:

        1.使用抽象父类名直接调用静态资源,非静态资源调用不了。

        2.要想调用抽象父类中所有的资源,需要通过抽象类的子类对象去实现

            步骤:

                1.创建一个子类,子类继承该抽象父类

                2.子类重写抽象父类中所有的抽象方法

                3.在测试方法中创建子类对象

                4.通过子类对象调用父类中所有非私有的资源

  抽象类中的构造方法的作用:

      现象:1.抽象类中的构造方法,在测试类中无法被使用/调用

           2.抽象类中可以有构造方法

      抽象类中的构造方法的作用?

        1.不是为了创建父类对象,因为根本就创建不了抽象类的对象

        2.做参数的传递

      说明:抽象父类中的构造方法可以将子类的参数传递到爷爷类,抽象类中的构造方法此时充当的是参数传递的桥梁

            --   构造方法也可以继承使用,例如:super(age);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值