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 抽象方法必须被子类实现。
  • 相关阅读:
    SQL 实现月度留存率/复购率
    Mac安装mysql数据库,并用navicat链接
    MAC电脑安装git
    form 表格提交
    幼稚从来都是相对的
    Vue 80端口无法使用,直接运行到1024问题
    iOS SDK framework 真机和模拟器合并步骤
    XCODE调试
    UN: Half of Refugee Children Do Not Go to School
    Vue界面传值逻辑
  • 原文地址:https://www.cnblogs.com/yun---meng/p/12906939.html
Copyright © 2011-2022 走看看