继承

  1. java 继承可以使用 extends 和 implements 这两个关键字来实现继承
    2.java 所有的类都是继承于 java.lang.Object,当一个类没有继承的两个关键字,则默认继承object(这个类在 java.lang 包中,所以不需要 import)祖先类
    3.在 Java 中,类的继承是单一继承,也就是说,一个子类只能拥有一个父类,所以 extends 只能继承一个类。

4.implements关键字
使用 implements 关键字可以变相的使java具有多继承的特性,使用范围为类继承接口的情况,可以同时继承多个接口(接口跟接口之间采用逗号分隔)。

5.子类不能继承父类的构造器(构造方法或者构造函数),如果父类的构造器带有参数,则必须在子类的构造器中显式地通过 super 关键字调用父类的构造器并配以适当的参数列表。
如果父类构造器没有参数,则在子类的构造器中不需要使用 super 关键字调用父类构造器,系统会自动调用父类的无参构造器。

  1. 接口
    1.接口可以理解为另外一种特殊的类.
    2.属性:只能拥有final 和static修饰的属性
    3.方法: 只有方法名, 没有实现. (有点类似于oc的协议)
    4.继承: 接口只可以继承接口, 可以继承多个结果口.

    1. 通过名称就可以推测,接口仅仅是提供几个接口而已.并没有实现.
    2. 类只能通过implements 来实现接口定义的方法(接口)
    3. 接口可以没有一个接口方法, 通常用来做标记使用.
  2. 重载和重写
    1.适用对象不同,
    1.1 重载是对同一个类中可以有相同方法不同参数类型和返回值类型的方法
    1.2 重写对父类而言的

  3. 多态
    1.和oc的多态是相同的概念, 父类类型指针可以指向子类, 用用的是否强制转换换一下 .如下:

      Animal a = new Cat();  // 向上转型  
      a.eat();               // 调用的是 Cat 的 eat
      Cat c = (Cat)a;        // 向下转型  
      c.work();        // 调用的是 Cat 的 work
2. 不同的是,java 有一个接口的概念. 接口也是一个类型,也就是说接口可以指向实现它方法的类. 

3. 实现接口的三种方式: 1.重写, 2. 接口 3. 抽象类,和抽象方法 

9.泛型
直接理解为和swift 相同
但是这里多了一个上下限制的概念

Java的泛型中,通配符可以设置上限和下限。

上限: , ?是T和T的子类

下限: ,  ?是T和T的父类

你可能感兴趣的:(继承)