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 抽象方法必须被子类实现。
  • 相关阅读:
    第一次工作 第一星期问题总结。
    IOS 中使用token机制来验证用户的安全性
    地址栏连接参数修改
    JavaScript反调试技巧
    简谈前端存储
    跨域的原因,场景,方法
    vue学习笔记(一)关于事件冒泡和键盘事件 以及与Angular的区别
    vue入门 vue与react和Angular的关系和区别
    详细图解作用域链与闭包
    jQuery的ajax详解
  • 原文地址:https://www.cnblogs.com/yun---meng/p/12906939.html
Copyright © 2011-2022 走看看