1.抽象类基本概念

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

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

 package com.neusoft.abstracted;

 public class Rectangle extends AbstractClassedDemo{

     public Rectangle(double w, double h) {
super(w, h);
} @Override
public double getAera() {
return width*height;
} }

Rectangle矩形类

3.三角形

 package com.neusoft.abstracted;

 public class Trangle extends AbstractClassedDemo {

     public Trangle(double w, double h) {
super(w, h);
} @Override
public double getAera() {
// TODO Auto-generated method stub
return width*height/2;
} }

Trangle

4.测试代码

 package com.neusoft.abstracted;

 public class TestAbstract {
public static void main(String[] args) {
Trangle trangle = new Trangle(4, 6);
Rectangle rectangle = new Rectangle(4, 6); System.out.println("三角形"+trangle.getAera());
System.out.println("四边形"+rectangle.getAera());
}
}

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. 【Oracle】BLOB

    1.データベースからの読み込み Dim strSql As String = "select IMG from TBL where ID=XX" Dim cmd As New Or ...

  2. iOS NSURLSession VS NSURLConnection

    NSURLSession VS NSURLConnection NSURLSession可以看做是NSURLConnection的进化版,其对NSURLConnection的改进点有: * 根据每个S ...

  3. Maven 多项目依赖,需要验证artifact的output root中是否包含其他项目输出

  4. 递归的几个demo

    /** * Created by root * Description : 递归函数 */ object RecursionTest { def main(args: Array[String]): ...

  5. nmap 中的idle scan

    http://www.offensive-security.com/metasploit-unleashed/Port_Scanning http://blog.csdn.net/dong976209 ...

  6. Streaming 101

    开宗明义!本文根据Google Beam大神Tyler Akidau的系列文章<The world beyond batch: Streaming 101>(批处理之外的流式世界)整理而成 ...

  7. iOS - UITableViewStylePlain与UITableViewStyleGroup样式的对比

    一.UITableViewStylePlain 1.有多段时 段头停留(自带效果) 2.没有中间的间距和头部间距(要想有的重写UITableViewCell \UITableViewHeaderFoo ...

  8. RabbitMQ笔记四:Binding,Queue,Message概念

    Binding详解   黄线部分就是binding Exchange与Exchange,Queue之间的虚拟连接,Binding中可以包含Routing key或者参数   创建binding 注意: ...

  9. SQL —— 获取重复某个字段的第一条记录

    ----------用来双重排序,且获取唯一 go SELECT ROW_NUMBER() OVER (ORDER BY AScore DESC,ATime ASC) AS Rank, * FROM ...

  10. Python学习(23):Python面向对象(1)速成

    转自 http://www.cnblogs.com/BeginMan/p/3190776.html 一.Python经典类与新类 经典类:如果没有直接或间接的子类化一个对象,也就是说如果没有指定一个父 ...