• 浅谈java抽象


    一、什么是抽象类?为什么要使用抽象类?

    首先要明确,抽象类也是类,只是抽象类具备了一些特殊的性质。

    我们以前编写一个类时,会为这个类编写具体的属性和方法,但有一些情况我们只知道一个类需要哪些属性方法,但不知道这些方法具体是什么,这时我们就要用到抽象类。

    举个例子,有一位老师布置了一篇作文,要求以春天为题目写一篇字数不少于800字的写景作文。在这个例子中,这篇作文就是一个抽象类,这个抽象类有两个抽象属性:以春天为题目和字数不少于800,还有一个抽象方法:写景。现在全班学生就会按照老师所给的要求,即抽象类,去完成作业。抽象类就像一个大纲一样规范了一个项目。

    抽象类作为系统中多个子类的共同父类,它所体现的是一种模板式设计。

    二、抽象的定义格式

    • 抽象方法的定义格式:public abstract 返回值类型 方法名(参数);
    • 抽象类的定义格式:abstract class 类名{}

    示例:

     1 //抽象类
     2 abstract class Animal {
     3     abstract public void shout();  //是一个抽象方法,他根本没有方法体,即方法定义后面没有一对花括号
     4 }
     5 class Dog extends Animal { 
     6     //子类必须实现父类的抽象方法,否则编译错误
     7     public void shout() {
     8         System.out.println("汪汪汪!");
     9     }
    10     public void seeDoor(){
    11         System.out.println("看门中....");
    12     }
    13 }
    14 //测试抽象类
    15 public class TestAbstractClass {
    16     public static void main(String[] args) {
    17         Dog a = new Dog();
    18         a.shout();
    19         a.seeDoor();
    20     }
    21 }

    结果:

    三、抽象类的使用要点:

         1. 有抽象方法的类只能定义成抽象类

         2. 抽象类不能实例化,即不能用new来实例化抽象类。

         3. 抽象类可以包含属性、方法、构造方法。但是构造方法不能用来new实例,只能用来被子类调用。

         4. 抽象类只能用来被继承。

         5. 抽象方法必须被子类实现。

  • 相关阅读:
    ArcGIS 10.1 如何连接数据库(转载)
    silverlight generic.xaml 包含中文 编译错误的问题
    WPF XAML之bing使用StringFormat (转)
    geoserver 知识小计
    [100天计划][1/15][1/30]开篇清单
    工作总结,给个公式,发发牢骚,继续得过
    值类型与引用类型(特殊的string) Typeof和GetType() 静态和非静态使用 参数传递 相关知识
    跑步之后的胡思乱想
    Linq To DataSet
    近期专案PM相关收获
  • 原文地址:https://www.cnblogs.com/qiaoxin11/p/12547962.html
Copyright © 2020-2023  润新知