• Java day 11


    1、接口:比抽象类还抽象的类,用于处理继承单一的局限性

      格式:
          interface  接口名{
          }
      注意:接口里的方法全是抽象方法,接口和类的关系是实现(implements)
    

    2、接口的成员特点:

      (1)只能有抽象方法;
      (2)只能有常量;
      (3)默认使用public&abstract修饰方法;
      (4)只能使用public&abstract修饰方法;
      (5)默认使用public static final来修饰成员变量;
      建议:手动添加默认修饰符
      注意:
      (1)接口不能创建对象(不能实例化);
      (2)类和接口的关系是实现关系,多层实现,一个类实现一个接口必须实现它所有的方法;
      (3)类与类是继承关系,单一继承,多层继承;
      (4)接口与接口的关系是继承关系,多层继承
    

    3、接口的优点:

     (1)一个类可以实现多个接口,打破了继承的局限性;
     (2)对外提供规则(USB接口);
     (3)降低了程序的耦合性(可以实现模块化开发,定义好规则,每个人实现自己的模块,提高了开发的效率)
    

    4、接口和抽象类:

     (1)共性:不断地抽取出抽象的概念;
     (2)区别:
         A、与类的关系:
           a、类和接口的关系是实现关系,而且是多实现,一个类可以实现多个接口;
           b、类与抽象类是继承关系,Java中的继承是单一继承,多层继承
         B、与成员的关系:
           a、成员变量:抽象类可以有成员变量,也可以有常量;接口只能有常量
           b、成员方法:抽象类可以有抽象方法,也可以有非抽象方法;接口只能有抽象方法,而且方法有默认修饰符 public abstract
           c、构造方法:抽象类有构造方法;接口没有构造方法
    

    5、匿名对象:没有名字、没有变量引用的对象

       应用场景:
       (1)当方法只调用一次的时候可以使用匿名对象;
       (2)可以当作参数进行传递,但是无法在传参之前做其他的事情
       注意:匿名对象可以调用成员变量并赋值,但是赋值并没有意义
    

    6、final:修饰符,用于修饰类、成员方法和成员变量

      (1)final所修饰的类:不能被继承,不能有子类;
      (2)final所修饰的方法:不能被重写;
      (3)final所修饰的变量:不可以被修改,是常量(字面值常量:1,2,3;自定义常量:一旦初始化则不可改变)
      注意:自定义常量必须初始化,可以选择显示初始化或者构造初始化
    

    7、多态的前提:

     (1)子父类的继承关系;
     (2)方法的重写;(变量没有重写的概念)
     (3)父类引用指向子类对象
     注意:动态绑定:运行期间调用的方法,是根据其具体的类型
    

    8、多态的成员特点:

     (1)成员变量:编译时看的是左边,运行时看到是左边;
     (2)成员方法:编译时看的是左边,运行时看到是右边;
     (3)静态方法:编译时看的是左边,运行时看到是左边;
    

    9、多态中的向上转型和向下转型:

     引用类型之间的转换:
           a、向上转型:由小到大(子类型转换成父类型)
           b、向下转型:由大到小
    

    10、多态的优缺点:

     (1)优点:可以提高可维护性(多态前提所保证的),提高代码的可扩展性;
     (2)缺点:无法直接访问子类特有的成员
  • 相关阅读:
    lambda函数用法
    Appium基础篇-元素定位
    python生成测试报告
    jmeter 设置中文
    jmeter bin下常用目录
    高效求幂运算
    欧几里德算法(求最大公因数)
    二分查找
    最大子序列和问题
    秋游小记
  • 原文地址:https://www.cnblogs.com/cqxljj/p/10254400.html
Copyright © 2020-2023  润新知