final和abstract

final关键字
可以修饰类,方法,变量(局部变量,方法的参数形参),属性。
1、修饰方法:final修饰的方法在子类当中不能覆盖。原则上尽量不要这样用。
作用:防止子类不经意的更改(更改其内部的方法体)。
例子:某一个类的某一个方法(葵花宝典,只能按照当前类的步骤进行修炼,不能随意更改)。
2、修饰类:final修饰的类不能被继承。
String类是final修饰的,不可以被继承,如果想使用其提供的方法,只能创建其对象后调用方法,或者通过类名调用其静态方法。
Math类是final修饰的,也不可以被继承。
Integer Long 等基本类型的包装类也是final修饰的。
原则上尽量的不要用final修饰类。一些框架比如Spring,Strust2使用动态继承机制技术。
3、final修饰属性(成员变量,成员)
final修饰的属性,在初始化之后,不能修改
4、final static 联合起来使用,修饰的属性或者变量是常量。一般情况下是全部字母大写。

飞机大战类结构
父类
FlyObject 飞行物类(抽象的类型)
子类
Enemy Hero Bullet…
抽象类:是一种特殊的类型,一般来讲,抽象类都包含抽象方法。抽象类不能被实例化,但是可以定义引用指向子类的对象。抽象类一般作为父类来使用,子类必须实现父类的抽象方法。
抽象方法:abstract修饰的方法,没有方法体。
说明:
1、抽象类不能被实例化,但是抽象类型的引用可以指向子类的对象
2、abstract修饰的方法是抽象方法,不能有方法体
3、包含抽象方法的类一定是抽象类,抽象类可以有抽象方法,也可以没有抽象方法
4、抽象类可以被继承,子类需要实现其所有的抽象方法(除非子类也是抽象类)
抽象类的意义在于:
1、为子类提供了一个共用的类型,封装了子类中重复的内容,也就是继承的意义
2、定义有抽象方法,子类虽然有不同的实现,但是该方法的定义是一致的。
作业案例:根据不同图形的周长可以得到面积
说明:1、根据周长计算各种图形的面积,并且比较周长相同时,谁的面积大
2、使用抽象类和其子类的方式进行实现
3、本案例以正方形和圆形为例
正方形的面积 area=0.0625cc c是周长
圆形的面积 area=0.0796cc
图形 Shape 正方形 Square 圆形 Circle

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值