zoukankan      html  css  js  c++  java
  • Java学习笔记 -抽象类

    抽象类

    1.什么是抽象类?

    • 类和类之间具有共同特征,将这些共同特征提取出来,形成的就是抽象类。
    • 类本身是不存在的,所以抽象类无法创建对象(无法实例化)

    2.抽象类属于什么类型?

    • 抽象类属于引用类型

    3.抽象类怎么定义?

    • [修饰符列表] abstract class 类名{}

    4.抽象类是无法实例化的,无法创建对象的,所以抽象类是用来被子类继承的。
    5.final 和 abstract 不能联合使用
    6.抽象类的子类可以是抽象类
    7.抽象类虽然无法实例化,但是有构造方法的,不过是供子类使用的( super() )
    8.抽象类关联到一个概念:抽象方法

    • 抽象方法表示没有实现的方法,没有方法体的方法。如:public abstract void doSome();
    • 特点:没有方法体,以分号结尾。前面修饰符列表中有abstract关键字

    9.抽象类中不一定有抽象方法,但是抽象方法一定出现在抽象类中。
    10.抽象类是半抽象的,在抽象类中可以写抽象方法,也可以写普通方法.

    10.重要结论:*****五颗星

    • 一个非抽象的类继承抽象类,必须将抽象类中的抽象方法实现
    • 这里的覆盖或者说重写,也可以叫做实现。(对抽象的实现)
      • 原因:如果不进行方法覆盖,那么就相当于抽象方法出现在了普通类中,是绝对不允许的。

    抽象类有构造方法

    public class AbstractTest{
    	public static void main(String[] args){
    		Cat c = new Cat();
    	}
    }
    abstract class Aniaml{
    	//有参数构造方法
    	public Aniaml(int a){	
    	}
    }
    class Cat extends Aniaml{
    }
    

    抽象方法只能出现在抽象类中

    public class AbstractTest{
    	public static void main(String[] args){		
    	}
    }
    abstract class Aniaml{
    	//抽象方法
    	public abstract void move();
    }
    
    class Cat extends Aniaml{
    	//如果不进行方法覆盖
    	//那么就相当于抽象方法出现在了普通类中,是绝对不允许的
    	//public void move(){}
    }
    

  • 相关阅读:
    P4318 完全平方数 [二分答案+容斥+莫比乌斯函数]
    P2522 [HAOI2011]Problem b
    莫比乌斯反演学习笔记
    UVALive646 Deranged Exams [容斥+排列组合]
    HDU5514 Frogs [容斥(II)]
    P2567 [SCOI2010]幸运数字 [容斥+有技巧的搜索]
    微信api退款操作
    类中或者是程序集中,根据虚拟路径获取绝对路径
    加载程序集中内嵌资源
    .NET Framework 框架简述01
  • 原文地址:https://www.cnblogs.com/zy200128/p/12716473.html
Copyright © 2011-2022 走看看