抽象类的特点:
1.当方法只有声明没有具体实现的时候,需要用abstract修饰符修饰。抽象方法必须定义在抽象类当中,所以抽象类也需要用abstract修饰
2.抽象类不可以被实例化,为什么呢?
     因为调用抽象方法没有意义
3.抽象类的子类必须覆盖所有的父类的抽象方法之后,子类才能够被实例化,否则子类也还是抽象类;
 
class A extends chouxiang {
     @Override
     void bark() {//只有覆盖了bark()方法,才能将A类实例化
           // TODO Auto-generated method stub
           System.out.println("你说呢");
     }
}
public abstract class chouxiang {
     abstract void bark();//必须让子类重写才有意义
     private int bark(int a, int b) {//抽象类中可以有非抽象方法,即不需要子类必须重写该方法
           return a + b;
     }
     public static void main(String[] args) {
           A a = new A();
           a.bark();//调用的是重写的无参的bark()方法
     }
}
 
  • 抽象类中有构造函数吗?
     有,用于对子类的初始化
  • 抽象类中可以没有没有抽象方法吗?
     可以,但是很少见,目的就是不让子类创建对象
  • 抽象类不可以和哪些关键字使用
     1.private:父类中的private修饰的方法对于子类不可见,即子类无法对方法进行覆盖
     2.static:当使用static修饰的时候,就可以直接使用类名调用该方法了,那就不用让子类进行实现了;除此之外,即便直接调用了也只是一个方法声明,并没有意义。
     3.final:abstract的意义在于让子类对修饰的方法进行覆盖,但是final却是不让方法进行覆盖,两者矛盾
  • 抽星类一定是个父类吗
     是的,因为需要其子类覆盖其方法才有意义
     

最新文章

  1. 前端学HTTP之URL
  2. Python之路-(Django进阶二)
  3. IIC
  4. 深度学习(deep learning)
  5. 自学silverlight 5.0
  6. Squid 操作实践
  7. SQL server 2012
  8. 匹配 prev 元素之后的所有 siblings 元素
  9. iOS UIApplicatin和它的delegate
  10. Openstack之Swift架构(Cloud Storage)
  11. Qt学习之路(58): 进程间交互(QProcess.readAllStandardOutput可以读取控制台的输出)
  12. noip模拟赛:电话时间[字符串]
  13. 201521123077 《Java程序设计》第12周学习总结
  14. day12(表达式,推导式,名称空间与作用域,函数的嵌套定义)
  15. latch
  16. css animate
  17. linux下nginx日常操作
  18. 【转】AlphaGO Zero 原理
  19. C# string.join
  20. Bytom 技术 FAQ

热门文章

  1. Java,JDK安装及环境配置
  2. Roslyn+T4+EnvDTE项目完全自动化(3) ——生成c++代码
  3. SpringBoot+神通数据库+JPA
  4. Eclipse设置代码格式化使用空格代替TAB
  5. IIS部署Python-django项目
  6. 数学库Sage安装和使用
  7. 初识python: os 模块
  8. Jenkins_创建git任务(3)
  9. nginx 配置 ^~ 的用法妙处,403阻断
  10. java 代理模式 总结