1.抽象类基本概念

  1. package com.neusoft.abstracted;
  2. /**
  3. * 抽象类:在class之前加abstract关键字
  4. * 抽象方法语法: 修饰符 abstract 返回值类型 方法名(形参列表);
  5. * 1.抽象方法的返回值前面有abstract关键字
  6. * 2.抽象方法没有方法体
  7. * 3.抽象方法的定义是一行单独的语句,,以分号结束。
  8. * ===================================
  9. * 4.一个类中如果定义了抽象方法,这个类一定是抽象类
  10. * 5.抽象方法必须在抽象类中,但是抽象类中可以没有抽象方法
  11. * 6.抽象类不能自己创建自己的对象,使用new创建抽象类对象将产生错误
  12. * 7.子类继承抽象类的时候,应该覆盖抽象类中的所有方法,否则子类也必须定义为抽象类
  13. *
  14. *问题:定义一个类,使得其包含计算面积的方法,定义表示三角形的类Triangle和
  15. *表示矩形的类Rectangle,分别继承上述的抽象类。
  16. */
  17. public abstract class AbstractClassedDemo {
  18. double width;
  19. double height;
  20. public AbstractClassedDemo(double w,double h) {
  21. this.width=w;
  22. this.height=h;
  23. }
  24. public abstract double getAera();
  25. }

2.以矩形、三角形等为例分析抽象类

  1. package com.neusoft.abstracted;
  2.  
  3. public class Rectangle extends AbstractClassedDemo{
  4.  
  5. public Rectangle(double w, double h) {
  6. super(w, h);
  7. }
  8.  
  9. @Override
  10. public double getAera() {
  11. return width*height;
  12. }
  13.  
  14. }

Rectangle矩形类

3.三角形

  1. package com.neusoft.abstracted;
  2.  
  3. public class Trangle extends AbstractClassedDemo {
  4.  
  5. public Trangle(double w, double h) {
  6. super(w, h);
  7. }
  8.  
  9. @Override
  10. public double getAera() {
  11. // TODO Auto-generated method stub
  12. return width*height/2;
  13. }
  14.  
  15. }

Trangle

4.测试代码

  1. package com.neusoft.abstracted;
  2.  
  3. public class TestAbstract {
  4. public static void main(String[] args) {
  5. Trangle trangle = new Trangle(4, 6);
  6. Rectangle rectangle = new Rectangle(4, 6);
  7.  
  8. System.out.println("三角形"+trangle.getAera());
  9. System.out.println("四边形"+rectangle.getAera());
  10. }
  11. }

TestAbstract

5.结果分析:

JAVA补充-抽象类的更多相关文章

  1. JAVA:抽象类VS接口

    JAVA中抽象类和接口的区别比较,以及它们各自的用途. 1.JAVA抽象类: 抽象类除了不能实例化以外,跟普通类没有任何区别.在<JAVA编程思想>一书中,将抽象类定义为“包含抽象方法的类 ...

  2. 转:二十一、详细解析Java中抽象类和接口的区别

    转:二十一.详细解析Java中抽象类和接口的区别 http://blog.csdn.net/liujun13579/article/details/7737670 在Java语言中, abstract ...

  3. 关于JAVA中抽象类和接口的区别辨析

    今天主要整理一下新学习的有关于Java中抽象类和接口的相关知识和个人理解. 1 抽象类 用来描述事物的一般状态和行为,然后在其子类中去实现这些状态和行为.也就是说,抽象类中的方法,需要在子类中进行重写 ...

  4. [ Java学习基础 ] Java的抽象类与接口

    一.抽象类 1. 抽象类 Java语言提供了两种类:一种是具体类:另一种是抽象子类. 2. 抽象类概念: 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的 ...

  5. java中抽象类的定义和使用

    java虽然比较简单,但是细节的知识点还是很多的,现在,介绍一下抽象类的定义和实现基础. 指的是在类中定义方法,而不去实现它,而在它的子类中去具体实现,继承抽象类的子类必须实现父类的抽象方法,除非子类 ...

  6. Java基础-抽象类和接口

    抽象类与接口是Java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力.他们两者之间对抽象概念的支持有很大的相似,甚至可以互换,但是也有区别. 抽象定义: 抽象 ...

  7. JAVA的抽象类和接口

    抽象类 在面向对象的概念中,所有的对象都是通过类来描述的,但是反过来,并不是所有的类都是用来描述对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类. 抽象类除了不能实例化对 ...

  8. Java中抽象类也能实例化

    在Java中抽象类真的不能实例化么? 在学习的过程中,发现了一个问题,抽象类在没有实现所有的抽象方法前是不可以通过new来构建该对象的,但是抽象方法却是可以有自己的构造方法的.这样就把我搞糊涂了,既然 ...

  9. Java中抽象类也能实例化.RP

    在Java中抽象类真的不能实例化么? 在学习的过程中,发现了一个问题,抽象类在没有实现所有的抽象方法前是不可以通过new来构建该对象的,但是抽象方法却是可以有自己的构造方法的.这样就把我搞糊涂了,既然 ...

随机推荐

  1. 一个非常好的C#字符串操作处理类StringHelper.cs

    /// <summary> /// 类说明:Assistant /// 编 码 人:苏飞 /// 联系方式:361983679 /// 更新网站:http://www.sufeinet.c ...

  2. 使用npm国内镜像

    嫌npm指令速度慢的童鞋可以把npm的源转换成国内的即可提高响应速度: 镜像使用方法(三种办法任意一种都能解决问题,建议使用第1或者第3种,将配置写死,下次用的时候配置还在):1.通过config命令 ...

  3. SpringMVC由浅入深day02_8json数据交互

    8 json数据交互 8.1 为什么要进行json数据交互 json数据格式在接口调用中.html页面中较常用,json格式比较简单,解析还比较方便. 比如:webservice接口,传输json数据 ...

  4. 大杂烩 -- Iterator 和 Iterable 区别和联系

    基础大杂烩 -- 目录 用Iterator模式实现遍历集合  Iterator模式是用于遍历集合类的标准访问方法.它可以把访问逻辑从不同类型的集合类中抽象出来,从而避免向客户端暴露集合的内部结构. 例 ...

  5. Linux最大打开文件描述符数

    1.    系统最大打开文件描述符数:/proc/sys/fs/file-max a.    查看 $ cat /proc/sys/fs/file-max 186405 2. 设置 a.    临时性 ...

  6. /etc/issue

    /etc/issue 与 /etc/motd 作用一致,都是用于显示欢迎信息,区别在于 /etc/issue 是在 login 提示符之前显示,而 /etc/motd 则在在用户成功登录系统之后显示 ...

  7. 冥想_ PHP抽奖程序概率算法

    //概率算法,6个奖项 $prize_arr = array( '0' => array('id'=>1,'prize'=>'iphone6','v'=>1), '1' =&g ...

  8. php curl那点事儿

    curl是最常用功能之一初始化句柄 $ch = curl_init(); post 传$data 1. 如果$data是字符串,则Content-Type是application/x-www-form ...

  9. java十年技术栈[总结复习用]

    以下摘自http://www.tvtv223.com/so/8/default/8.html#36-数据库的分库分表mycat java技术栈 参考了众多资料,这里就不再详细列举了,可以自行去搜索 1 ...

  10. iOS10个实用小技巧(总有你不知道的和你会用到的)

    本文转载至 http://www.jianshu.com/p/a3156826c27c 在开发过程中我们总会遇到各种各样的小问题,有些小问题并不是十分容易解决.在此我就总结一下,我在开发中遇到的各种小 ...