day11_final,多态,abstract

1.final

        1.1什么是final

                是修饰符,表示最终的,无法修改

        1.2能做什么

                修饰常量,不能二次赋值,必须是显式赋值,一般是叫常量(但常量一般是psf修饰)

                修饰的成员方法不能被覆写

                修饰的类不能被继承

        1.3怎么用              

2.多态

        2.1相关知识

                JVM四大特性:多线程,跨平台,自动垃圾回收,面向对象

                面向对象特性:封装,继承,多态,抽象

                软件设计的六大原则

                单一职责原则:功能单一,一个类只能履行一个职能

                里氏替换原则 :能够在父类的地方就一定可以使用子类

                依赖倒置原则:面向高层编程,底层依赖高层,高层不依赖高层

                接口隔离原则

                迪米特法则

                开闭原则             

        2.2多态是什么

                多态也叫做多态性,多形态.同一操作与不同的对象有不同的解释,产生不同的结果

                简单来讲 父类引用指向子类对象

                父类引用:使用父类类型创建的引用类型变量

                指向:就是可以找到谁

                子类对象:通过子类创建的引用变量

                通过父类创建的引用类型变量,可以找到子类的对象

                语法: 父类 变量名 = new 子类();

        2.3优点

                提高程序的灵活度,扩展性,维护性都会得到加强,符合高内聚低耦合理念

        2.4缺点

                丢失子类特有的属性(父类没有的子类有,都属于子类特有的,无法访问)

        2.5怎么使用多态

                1.父类没有的,调用不了直接报错

                2.父类有的,子类没有的,执行父类的

                3.父类有的,子类也有的,除了成员方法之外执行子类,其他的都执行父类的      

        2.6多态的几种形式

                1.直接多态 父类 变量 = new 子类();

                2.形参 实参 多态 参数列表用父类声明 调用方法时传入子类对象

                3.返回值多态 返回值的类型为父类类型但是返回的是子类对象

                简单来说 只要是父类的引用类型变量 保存的是子类对象就是多态 不要在考虑对象时怎么来的

        2.7Instanceof

                某个对象是否由某个类实例而来

                多态在赋值的时候发生,不赋值,不会发生多态

                多态:向上转型,子到父,类似于自动类型转换

                向下转型:父到子,类似于强制类型转换

                必须先发生向上转型,才能发生向下转型

                System.out.println(ssSup1 instanceof Sub1);//true or false

        2.8隐式多态

                this

3.abstract

        3.1是啥

                修饰符,表示抽象

        3.2能干什么

                修饰的成员方法 是抽象方法 并且没有方法体({})

                修饰的类为抽象类 抽象类不能创建对象

                抽象方法必须在抽象类中,用于被子类覆写(或实现)

                抽象类中可以没抽象方法

                abstract和final可以没有抽象方法

                如果一个类继承一个抽象类,需要实现所有的抽象方法

                一个抽象类继承一个抽象类 需要实现0~n个抽象方法

        3.3怎么用

                abstract 方法(类)  用来提醒子类要进行方法的覆写

            

        

                

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值