抽象类的定义及使用

抽象类不能实例化,但抽象类名的数组类型可以,见案例

 package com.example;

 public class ShapeTest {
public static void main(String[] args){
Shape[] shapes = new Shape[3]; //shape为抽象类,不可以实例化;shape[]为数组类,可以实例化
shapes[0] = new Square(3.1);
shapes[1] = new Circle(1.5);
shapes[2] = new Circle(2.4);
ShapeTest x = new ShapeTest();
System.out.println(x.areaMax(shapes));
} double areaMax(Shape[] shapes){
double areamax = shapes[0].area();
for(int i=0;i<shapes.length;i++){
double max = shapes[i].area();
if(max>areamax){
areamax = max;
}
}
return areamax;
}
} abstract class Shape{
double a;
abstract double area();
} //子类继承父类抽象方法--重写
class Square extends Shape{
Square(double a){
this.a = a;
}
}
@Override
double area(){
return 0.0625*a*a;
}
} class Circle extends Shape{
Circle(double a){
this.a = a;
}
@Override
double area(){
return 0.0796*a*a;
}
}

最新文章

  1. 第54课 Qt 中的多页面切换组件
  2. [转自itilxf论坛]iTop百问百答
  3. 2016.9.27 --- changchun
  4. CentOS 7下Wireshark捕获USB数据包
  5. C++_Eigen函数库用法笔记——Block Operations
  6. Cocos2d-x v3.0 新的事件调度方法 lambda表达式的使用
  7. Cannot instantiate the type HttpClient问题
  8. 几个字符串的误区,以及setlocale函数的使用
  9. web.xml配置文件中&lt;async-supported&gt;true&lt;/async-supported&gt;报错的解决方案
  10. Mifare S50与Mifare S70
  11. Ubuntu下访问SSH
  12. sqoop安装与使用
  13. 非对称加密RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)等。使用最广泛的是RSA算法
  14. 【Linux探索之旅】第一部分第四课:磁盘分区,并完成Ubuntu安装
  15. spring定时任务的几种实现方式
  16. 分享一款CSS框架
  17. JQuery的插件开发——重点
  18. Linux内核参数
  19. centos6.5下安装mysql5.6
  20. RGB图片取大于阈值部分

热门文章

  1. 【枚举】bzoj1643 [Usaco2007 Oct]Bessie&#39;s Secret Pasture 贝茜的秘密草坪
  2. FCL研究-目录
  3. Zabbix的SNMPTrap监控配置
  4. elasticsearch term 查询二:Range Query
  5. 【java】为数组全部元素赋同样的值 以及 数组之间的复制
  6. More is better——并查集求最大集合(王道)
  7. Yahoo 股票数据抓取
  8. [Functional Programming] Pull Many Random Numbers in a Single State ADT Transaction
  9. Linux——配置使用github
  10. html5表单验证(Bootstrap)