尚学堂 JAVA Day13 abstract 关键字
Abstract (抽象的)
这是一个关键字。
可以且只可以 用来修饰 <类> <方法>。
1---Abstract 类
如:Animal,可以被理解一个抽象的类。动物嘛,只是人类用来区分自己和其他物种的抽象概念,并无哪个物种实际就叫Animal。
通俗来理解,我们无法在现实世界里找到一个Animal的具体对象,只能找到这个概念下某一类物种,比如孔雀,蛇,马等等。
因此,通常可以将这样没有实例的类,或者不希望其能new出对象的类,声明为abstract。
2---Abstract类的成员变量
抽象类下,成员变量的声明和定义与普通类并无二致。
3---Abstract类的构造方法
抽象类并不因为不能被new出对象,而没有构造方法,相反,它只是不能自己实现自己,但是,他迫切希望自己的子类创建对象。
比如一匹送唐僧去西天取经的白马,就是一个对象,它是Animal子类Horse的一个叫白龙马的对象。因此,它必定有构造方法。
4---Abstract类的方法
可以有 0 个 抽象方法;
可以有 1 个 抽象方法;
可以有 N 个抽象方法。
其实,它一般是普通方法和抽象方法的综合体,其中其抽象方法,必须被子类实现(重写)。
人生的智慧,在于确认自己是自由的存在着,而非宿命的被命运所规定.