JAVA学习笔记5------抽象类

抽象类
更类似是抽象出类们的具体声明抽象类中抽象方法
特点
1 方法只有声明没有实现时 该方法就是抽象方法 需要被abstract修饰
   抽象方法必须定义在抽象类中 类也必须被abstract修饰
2 抽象类不可以被实例化 方法只有声明没有方法体 调用无意义 拒绝实例化
3 抽象类必须由其子类覆盖了所有的抽象方法后 该子类才可以实例化
  否则这个子类还是抽象类 换句话说 子类继承抽象类必须全部覆盖父类的抽象方法
细节

1 抽象类有构造函数么? 有 用于给子类对象进行初始化
2 抽象类可不可以没有抽象方法? 可以但是很少见 目的就是不让该类创建对象 
   比如AWT适配器对象  通常这个类中的方法有方法体 但是却没有内容

 

   abstract class Demo{
    
     void show1(){}
   }


3 抽象关键字可不可以和那些关键字共存? abstract和private非法的修饰符组合 本来抽象要被覆盖 你私有了又不让覆盖
   static 不行   final也不行

4 抽象类 与 一般类异同点
   同:两个都是用来描述事物的 都在内部定了成员
   异:一般类有足够的信息描述事物 抽象类描述事物的信息有可能不足
       一般类中不可定义抽象方法只能定义非抽象方法 
       抽象类可以定义抽象方法,同时也可以定义非抽象方法
       一般类可以被实例化 抽象类不可以被实例化

5  抽象类一定是父类

abstract class People{
    private int num;
    abstract void cry();
    abstract void laugh();

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值