JAVA 抽象类

抽象:笼统、模糊、看不懂、不具体

如果这个类中有抽象的方法,则这个类一定是抽象类。但抽象类里面可以有非抽象的方法

特点:

1、方法只有声明没有实现时,该方法就为抽象方法,需要abstract修饰

      抽象方法必须定义在抽象类中,该类也必须被abstract修饰

2、抽象类不能被实例化(创建对象),因为调用抽象方法没意义

3、抽象类必须由其子类覆盖了所有的抽象方法后,该子类才可以被实例化。否则,该子类还是抽象类(因为该类里还有抽象方法)

细节:

1、抽象类中有构造函数吗?

      有,用于给子类对象进行初始化

2、抽象类可以不定义抽象方法吗?

      可以,很少见,目的是不让该类创建对象

      通常这个类中的方法有方法体,但没有内容

3、抽象类关键字不可以和哪些关键字共存?

      private不可以(私有了还覆盖啥?)

      static不可以(类名调个空方法?)

      final不可以

4、抽象类和一般类的区别

      同: 抽象类和一般类都是用来描述事物,都在内部定义了成员

      不同:1、一般类有足够信息描述事物,抽象类信息不足。

                 2、一般类不能定义抽象方法只能定义非抽象方法,抽象类可以定义抽象方法和非抽象

                 3、一般类可以被实例化,抽象类不能被实例化

5、抽象类一定是个父类吗

      是的,因为需要子类覆盖其方法后才可以对子类实例化  

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值