day06

抽象类的局限性(与接口的区别)

  1. 抽象类可以定义非抽象方法,避免子类重复实现这些方法,提高代码重用性;接口只能包含抽象方法;jdk1.8之后接口可以包含默认方法。
  2. 一个类只能继承一个直接父类(可能是抽象类),却可以实现多个接口;(接口弥补了Java的单继承)类与类之间只能是单继承(包括抽象类),接口与接口之间可以是多实现,多继承。
  3. 抽象类可以定义普通的成员变量,接口只能定义public static final的成员变量。

接口

  • 成员

  1. 公共的静态常量
  2. 公共的抽象方法
  • 继承

    接口与接口之间可以多实现,多继承

    原因:

    因为接口中的方法都是没有实现的,所以就算有两个父接口的方法名称相同,子类实现接口的时候也不会有什么影响,重写即可,所以接口与接口之间是存在多继承的。

多态

  •  让父类的变量指向子类对象的地址值。
  • 特点

    • 成员方法:编译看左,运行看右。
    • 成员变量:编译看左,运行看左。
  • 转型

    • 向下转型(强转)

      • instanceof关键字
    • 向上转型

构造方法

  • 父子类问题

    • 父类如果只有有参构造,那么子类的构造函数中需要显式的调用父类的有参构造。

day07

关键字

  • static:非静态能够直接调用静态方法和变量,静态方法不能够直接调用非静态的方法和变量。

  • super:子类对父类的引用,只能在非静态的方法中调用。

  • final:

    • final修饰的类不可以被继承,但可以创建对象,如String。
    • final修饰的方法不可以被重写,子类重写的方法可以加上final修饰。
    • final修饰局部变量,只能够赋值一次,当修饰的是引用的类型的时候,不能被重新赋值,但是可以修改对象的属性。
    • final修饰成员变量,必须在定义的时候进行赋值,不会有自动初始化值,(或者在构造方法中进行赋值)。

最新文章

  1. script标签中defer和async属性的区别
  2. RSA加密算法的简单案例
  3. SSH加固
  4. linux date时区修改
  5. ORM查询语言(OQL)简介--高级篇:脱胎换骨
  6. .NET微信公众号开发-4.0公众号消息处理
  7. Java的自动装箱和拆箱的简单讲解
  8. 汇编语言学习笔记(5)——[bx]和loop
  9. 解决Cannot find or open the PDB file问题
  10. java socket 单服务器多客户端实时通信
  11. HTML标签大全
  12. 四种必须知道的Android屏幕自适应解决方案
  13. Android 纯代码加入点击效果
  14. 使用typeof方法反射属性和方法
  15. 201521123070 《JAVA程序设计》第2周学习总结
  16. intel-hadoop/HiBench流程分析----以贝叶斯算法为例
  17. 嵌入式C语言常见的错误
  18. NIO学习资料
  19. vue中父组件给子组件传值,子组件给父组件传值
  20. centos 6 和centos 7 系统下vnc配置

热门文章

  1. Java实现 LeetCode 347 前 K 个高频元素
  2. java实现杨辉三角系数
  3. Java实现 蓝桥杯 历届试题 大臣的旅费
  4. Java实现 泊松分酒
  5. Java实现第八届蓝桥杯分巧克力
  6. PAT 德才论
  7. Spring AOP—注解配置方法的使用
  8. mysql域名解析引起的远程访问过慢?
  9. 如何控制excel单元格录入相同内容的次数?
  10. LR脚本信息函数-lr_user_data_point