zoukankan      html  css  js  c++  java
  • 浅谈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. 抽象方法必须被子类实现。

  • 相关阅读:
    开源的Linux QQ
    如何从VS2003升级到VS2008
    LINQ在开发中的地位?
    SQL Server 2005 Analysis Services
    .NET framework源代码开放了
    WebForms和MVC这2个模型都很棒,由相关讨论想到的
    IIS 7.0相关文章收集
    探究基于声明的身份标识
    微软为“离线”做好准备:推出同步框架
    通用日志
  • 原文地址:https://www.cnblogs.com/qiaoxin11/p/12547962.html
Copyright © 2011-2022 走看看