Android第九天

        1.抽象类(abstract)

                (1)如果一个方法没有方法体,那必须用关键字abstract;

                (2)如果一个类中有abstract修饰的方法,那这个类必须用abstract修饰;

                (3)用abstract修饰的方法叫做抽象方法,修饰的类叫做抽象类;

                (4)当一个类去继承抽象类时,必须重写抽象类中的抽象方法;

                (5)如果一个类是抽象类,这个类中允许没有抽象方法;

                (6)如果一个方法是抽象方法,那么它所在的类一定是抽象类;

                (7)抽象类是不可以实例化对象的。(因为其方法没有方法体,不能被调用)

        2.抽象类中可以存在构造方法、静态方法、final方法和私有的方法:

                (1)静态的是存在静态方法区的,是唯一的,不可以被子类重写,不能用abstract修饰静态方法;

                (2)用final修饰的方法不能被重写,abstract修饰的方法必须要重写,不能同时使用;

                (3)私有的只能自己本类去使用,不能被子类所继承所以子类不能重写;

                (4)子类不能继承父类的构造方法,所以不能重写。

        3.如果子类不能去重写父类的抽象方法,可以将自己设置为抽象类,由自己的非抽象子类去重写这些抽象方法。

        4.接口

                (1)接口是一种规范;

                (2)接口中默认都是全局常量和抽象方法,所以如果不写修饰符也就没有问题;

                (3)一个类想要使用一个接口中的东西的话,不是继承,是实现;

                (4)继承只能单继承,但是实现可以实现多个接口;

                (5)接口不能实例化对象,不能有静态方法、最终方法、构造方法、私有方法;

                (6)一个类既可以继承父类,又可以实现接口,要求继承在前,实现在后;

                (7)实现接口,相当于拓展功能。

        5.多继承

                (1)接口可以多继承,是因为接口中的方法名相同,参数列表相同,不存在方法的实现不同;

                (2)类不可以多继承,会因为相同方法名和相同参数列表而报错。

        6.多态

                (1)一个事物可以有多种形态;

                (2)父类的引用直接指向了子类的实例父类对象直接调用时,调用子类的属性和方法;

                (3)如果调用父类的方法,可以new父类的实体,通过父类的引用直接去直接调用父类的方法;用子类的对象去super调用父类的方法。

        7.向上转型:父类的引用指向子类的实例;

           向下转型:发生在继承关系中,父类的引用指向子类的实例;

        8.编译时期多态:向上转型、重载;

           运行时期多态:向下转型。

        9.instanceof,用于判断对象是否属于某类;

           匿名对象:只有堆内存地址,没有栈内存地址。

转载于:https://my.oschina.net/huangxiaolei/blog/688874

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值