zoukankan      html  css  js  c++  java
  • 4.16Java抽象方法和抽象类

    4.16Java抽象方法和抽象类

    抽象方法

    抽象方法的概念

    使用abstract修饰的方

    特点:

    • 没有方法体,只有声明。

    • 定义的是一种"规范"

    作用:

    告诉子类必须要给抽象方法提供具体的实现

    抽象类

    抽象类的概念

    包含抽象方法的类就是抽象类

    特点:

    • 通过abstract方法定义规范

    • 要求子类必须定义具体的实现

    作用:

    严格设计子类的设计,使子类之间更加通用

    之前创建方法的办法:

    //创建方法有方法体
    package com.cxl;

    /**
    * Java抽象类练习
    * @author Lucifer
    */
    public class Animal {
       public void shout(){
           System.out.println("eee");
      }
    }

    抽象类的意思就是创建方法没有具体的方法体:---包含抽象方法的类必须是抽象类(类也要是抽象的)

    实例:

    package com.cxl;

    /**
    * Java抽象类练习
    * @author Lucifer
    */
    abstract class Animal {
       /*上面的写法就是定义了抽象类*/

       /*声明抽象方法*/
       abstract public void shout();
       /*
       抽象方法的特点:
       父类没有实现这个方法
       子类在继承的时候必须实现这个方法
       提供了类似的设计规范
        */

       /*在抽象类中也定义了普通的方法*/
       public void run (){
           System.out.println("Running");
      }
    }

    class Dog extends Animal{

       /*
       因为没有实现父类的抽象类的方法,所以报错
       重写shout方法至于方法里面有什么可以自行定义
        */

       @Override
       public void shout(){
           //TODO Auto-generated method stub
           //实现抽象父类的抽象方法
           System.out.println("www");
      }

       //子类自己的方法
       public void seeDoor(){
           System.out.println("看门呢");
      }

       //测试抽象类
       public class TestAbstractClass{
           public static void main(String[] args){
               //这个static一直在报错
               Dog a = new Dog(); //创建类对象
               a.shout();
               a.seeDoor();
          }
      }
    }

    抽象类的使用要点:

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

    2. 抽象类不能实例化---就是不能用new来实例化抽象类,但是可以实例化继承抽象类的子类对象

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

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

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

    It's a lonely road!!!
  • 相关阅读:
    hadoop-eclipse插件的使用
    python IDLE的执行py文件
    【转】Java Commons.IO 库官方文档
    【转】Java 集合框架之 WeakHashMap 和 IdentityHashMap 介绍
    JavaSE 中的队列简介
    【转】Java 集合之Hash 表
    【转】博客园转载别人的文章
    Java 中 深入理解 HashMap 和 TreeMap 的区别
    Java 中 equals() 和 hashcode() 方法详解
    百度搜索常用技巧
  • 原文地址:https://www.cnblogs.com/JunkingBoy/p/14668783.html
Copyright © 2011-2022 走看看