Java基础知识

来源:互联网 发布:sql server 费用 编辑:程序博客网 时间:2024/06/03 18:30
子类与继承:
  • class 子类名 extends 父类名 { 
... 
  • Object类是所有类的祖先类,每个类除了Object类有且只有一个父类,Java不支持多重继承
  • 子类创建对象时父类的所有成员变量都会分配内存,但只有继承的变量才作为子类对象的变量,其他未继承的父类变量可以通过继承的方法来操作,所以并不会浪费内存空间。
  • instanceof双目操作符用来判断操作符左边的对象是否是操作符右边的类或其子类所创建
  • 在父类中定义多个构造方法时,由于Java不会再提供默认的构造方法,所以父类中要包括一个不带参数的构造方法,以防子类省略super时出现错误(子类构造对象时默认调用父类无参数的构造方法)
  • final类不可继承,final方法不可重写(覆盖),final变量为常量
  • 抽象类一般没有数据只有方法,因为没有构造函数所以数据不会初始化。
  • 抽象类也可以没有抽象方法。
  • 抽象类的非抽象子类需重写父类所以抽象方法,抽象类的抽象子类可继承父类抽象方法也可重写父类抽象方法。
  • 若子类重写了父类的静态方法,那么子类对象的上转型对象不能调用子类重写的静态方法,只能调用父类的静态方法。 
  • 上转型对象,abstract抽象类以及面向抽象编程思想


接口:

  • 接口体中包含常量的声明(没有变量)和抽象方法两部分
  • 接口中的常量都是public static(可省略);方法一定是public abstract(可省略),所以在重写接口方法时要用public,否则就降低了访问权限
  • 抽象类可以不用重写接口中的所有方法,非抽象类必须重写接口中的所有方法
  • public接口可被任何类实现,友好接口可被与接口同一个包中的类实现
  • 接口回调(类似上转型对象),面向接口编程

0 0