1.static final final 不能被继承 final 变量不能被更改 final 方法不能被重写 定义常量 必须声明同时初始化 通过类名点来访问 不能被改变 常量名建议所有字母都大写 优点:效率高 2.抽象方法 由abstract修饰 有方法的定义,没有方法的实现(没有大括号) 3.抽象类 由abstract修饰 包含抽象方法,也可以声明为抽象类(不是必须的) 抽象类不能实例化(不能new对象) 抽象类是需要被继承,子类: 重写所有父类的抽象方法让不完整变完整 也声明成抽象类 抽象类: 父类的意义: 封装所有子类的共性,为子类重用 为所有子类提供一种公共的类型向上造型 可以包含抽象方法,为所有子类提供一个统一的入口。 3.接口 是一种标准,规范 接口指向实现类 接口不能被实例化 一 知识点: 根据周长计算不同形状图形的面积,详细要求如下: 1.计算多种图形的面积,并比较各种图形面积的最大值。 2.使用抽象类及其子类的方式实现本案例。 3.本案例以圆形和正方形为例。 注:正方形的面积公式为:0.0625*c*c。圆形的面积公式为:0.0796*c*c, 其中,c表示图形的周长。 分析 创建一个圆的类,创建一个正方形的类 变量:周长c 方法:计算面积方法 class Circle extend shape{//3个不同周长的圆 double c; area(){} } class Square extend shape{//4个不同周长的正方形 double c; area(){} } 定义父类 abstract class shape{ double c; abstract double area();//不完整 } Circle[] cir = new Circle[3]; Cir[0] = new Circle(1); Cir[1] = new Circle(2); Cir[3] = new Circle(3); Squre[] s = new Squre[4]; s[0] = new Squre(1); s[1] = new Squre(2); s[2] = new Squre(3); s[3] = new Squre(4); Shape[] shape = new Shape[12]; shape[0] = new Circle(1);//向上造型 shape[1] = new Circle(2); shape[2] = new Circle(3); shape[3] = new Squre(1); shape[4] = new Squre(2); shape[5] = new Squre(3); shape[6] = new Squre(4); shape[7] = new Five(1); shape[8] = new Five(2); shape[9] = new Five(3); shape[10] = new Five(4); shape[11] = new Five(5); 在测试类中定义一个比较方法 double Maxarea(Shape[] c){ shape[0].area();//圆1的面积 shape[1].area();//圆2的面积 shape[2].area();//圆3的面积 shape[3].area();//正方形1的面积 shape[4].area();//正方形2的面积 shape[5].area();//正方形3的面积 shape[6].area();//正方形4的面积 在今天的Java小练习,你学会了吗? |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|