• JAVA补充-抽象类


    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.结果分析:

  • 相关阅读:
    SQL——SELECT、UPDATE、DELETE和INSERT INTO
    Java——关键字instanceof
    Linux——vim操作
    Java——变量自增(++)自减(--)
    Maven——pom.xml文件报错:Missing artifact:jar包
    Linux清空文件内容
    MySQL数据库传输BLOB类型数据丢失 解决办法
    【转载】StringUtils方法介绍
    Maven学习记录
    Hibernate中自带ID的generator的含义
  • 原文地址:https://www.cnblogs.com/jackchen-Net/p/6524555.html
Copyright © 2020-2023  润新知