多态和抽象

1.多态

    概念: 
            在面向对象语言中,接口的多种不同的实现方式即为多态。 
            允许将子类类型赋值给父类类型。多态的前提是继承和方法重写。 多态是父类对象表现多种子类的形态的能⼒的特征。 ⼀句话多态就是⽗类引⽤⼦类对象。 向同⼀个⽗类的不同⼦类发送同⼀条消息,⾏为不同 。 对于父类中的一个方法,在不同子类中有不同的实现。父类引用子类对象,调用父类被重写的方法时,子类有不同的响应。
    实现多态
            1).继承:子类继承父类
            2).重写:子类方法重写父类方法
            3).向上转型:父类引用指向子类对象
            4).调用父类被重写的方法时,不同的子类效果不同
    为何使用多态
            实现程序设计的开-闭原则,对扩展开放,对修改关闭
     向上转型/向下转型
            向上转型:⽗类引⽤⼦类对象(⾃动成⽴,缺点是失去调⽤⼦类独有⽅法的能⼒)
            向下转型:⼦类引⽤⽗类对象(强制转换,慎重),需要使用instanceof进行类型判断

2.抽象类

    概念
            如果一个类只是一个概念,没有具体的形象,我们可以把这个类定义为抽象类
            关键字:abstract
            使用场景:一般作为顶层类(父类),被子类继承
            :抽象类的存在是为了让子类继承用的,不是为了创建对象。
    抽象类和抽象方法的定义:
            抽象类:使用 abstract 关键字修饰的类。
                [权限修饰符]  abstract  class  类名{}
            抽象方法: 使用abstract关键字修饰的方法 
                [权限修饰符]  abstract  返回值  方法名();//没有大括号
                    注意 :抽象方法没有方法体,也没有{}
    抽象类的特点:
            1.抽象类不能创建对象,不能new对象。抽象类的关键字是abstract。
            2.抽象类可以定义抽象方法,也可以没有抽象方法
            3.有抽象方法的类一定要定义成抽象类
            4.抽象类中可以定义实例方法
            5.抽象类可以定义构造方法,在子类中可以调用抽象类的构造方法
            6.子类继承了抽象类,则一定要重写/实现其中的抽象方法,如果没有实现父类的抽象方法,则子类也要变成抽象类
            7.抽象方法需要在方法前写abstract关键字,并且不能有方法体(不能写大括号)

Arrays数组工具类

1、拼接为字符串:

2、数组排序

3、数组扩容

二维数组

访问数组


版权声明:本文为weixin_53997529原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。