zoukankan      html  css  js  c++  java
  • 抽象类和抽象方法的特点

    1 一个抽象类里可以没有抽象方法,但含有抽象方法的类必定为抽象类;
    2 抽象类不能被实例化为对象,而只能作为其它类的超类,并且必须被继承;
    3 若某子类继承自一个抽象类,而该子类不是抽象类,则子类需用覆盖的方式来实例化超类中的所有抽象类方法。
    抽象方法可再与public、protect复合使用,但不能与final、private和static复合使用;
    4 抽象方法只有方法声明,不能有方法体。

     1.抽象方法:

     使用abstract修饰,的方法,没有方法体,只有声明。定义的是一种“规范”,就是告诉子类必须要给抽象方法提供具体的实现

     2.抽象类:

     包含抽象方法的类就是抽象类。通过abstract定义规范,然后要求子类必须定义具体实现,通过抽象类,我们就可以,严格限制子类的设计,使的子类之间更加通用

    3.基本用法:

    public abstract class _01_Abstract{
        
        //1.没有实现   
        //2.子类必须实现
    
        abstract public void shout();
        public void run(){
            System.out.println("4565482  454");
        }
    }
    
     class Dog extends _01_Abstract{
    
        @Override
        //父类中有shout方法,所以限制子类必须有,至于方法体中有什么与父类无关
        public void shout() {
            
            // TODO Auto-generated method stub
            System.out.println("___++++++___");
            
        }
     
     }

     4.使用要点:

    1 在抽象方法的类只能定义成抽象类;
    2 抽象类不能实例化,即不能用new来实例化对象;
    3 抽象类可以以包含属性、方法、构造方法。但是构造方法不能用来new实例,只能被子类调用;
    4 抽象类只能用来被继承;
    5 抽象方法必须被子类实现。
  • 相关阅读:
    修改Putty终端目录(ls命令)显示颜色
    在循环中进行提交的测试
    远程连接Redhat Linux配置
    如何部署Silverlight及Web Service
    SQL2008 的收缩日志
    WPF中DataGrid使用初步
    常用SQL
    DataGridView转datatable
    Ext程序规划入门
    下一代C#里的async和await
  • 原文地址:https://www.cnblogs.com/yun---meng/p/12906939.html
Copyright © 2011-2022 走看看