方法重写的规定:
有继承;方法名与父类名一样;形参与父类中的方法一致;返回值类型 < = 父类中的返回值类型。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
abstract
-------修饰方法和类
① 在了解抽象方法与抽象类的时候要注意:含有抽象方法的类一定是抽象类,但是抽象类里面不一定有抽象方法。
② 格式
抽象方法:
abstract 返回值类型 方法名 ( 形参列表 ) ;
抽象类:
public abstract class 类名 { }
注意点:抽象方法要被子类重写才有意义,如果类中的方法用了abstract 修饰了,那么这个类本身也要用 abstract 修饰,成为抽象类。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
final
final 指的是最终,修饰类、方法、变量。
特点:①修饰类:final修饰的类不能被继承;
②修饰方法:改方法不能被重写;
③修饰变量:改变量不能被重新赋值,也就是说被 final 修饰的变量我们就称之为 -----常量。
所以我们在给 final 赋值的时候 一般都是直接赋值;或者在初始化块中赋值(初始化块就是在构造方法之前代码的块);再或者 在构造方法中赋值。
------------------------------------------------------------------------------------------------------------------------------
总结
1:abstract 有构造方法,子类可以通过super调用父类的构造方法,对父类继承的属性进行初始化。
2:abstract 不能被实例化(不能被new).
3:abstract 和final 不能同时使用,因为 abstract 必须重写才有意义,而 final 修饰的不能被重写。
4:abstract 和private 不能同时使用,因为private 不能被继承,不存在方法重写。
5:abstract 和static 不能同时使用(非法修饰符的组合),因为static 是静态修饰符,不需要被实例化,用类名就可以调用,但abstract 没有方法实现调用方法就会出错。
有继承;方法名与父类名一样;形参与父类中的方法一致;返回值类型 < = 父类中的返回值类型。
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
abstract
-------修饰方法和类
① 在了解抽象方法与抽象类的时候要注意:含有抽象方法的类一定是抽象类,但是抽象类里面不一定有抽象方法。
② 格式
抽象方法:
abstract 返回值类型 方法名 ( 形参列表 ) ;
抽象类:
public abstract class 类名 { }
注意点:抽象方法要被子类重写才有意义,如果类中的方法用了abstract 修饰了,那么这个类本身也要用 abstract 修饰,成为抽象类。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
final
final 指的是最终,修饰类、方法、变量。
特点:①修饰类:final修饰的类不能被继承;
②修饰方法:改方法不能被重写;
③修饰变量:改变量不能被重新赋值,也就是说被 final 修饰的变量我们就称之为 -----常量。
所以我们在给 final 赋值的时候 一般都是直接赋值;或者在初始化块中赋值(初始化块就是在构造方法之前代码的块);再或者 在构造方法中赋值。
------------------------------------------------------------------------------------------------------------------------------
总结
1:abstract 有构造方法,子类可以通过super调用父类的构造方法,对父类继承的属性进行初始化。
2:abstract 不能被实例化(不能被new).
3:abstract 和final 不能同时使用,因为 abstract 必须重写才有意义,而 final 修饰的不能被重写。
4:abstract 和private 不能同时使用,因为private 不能被继承,不存在方法重写。
5:abstract 和static 不能同时使用(非法修饰符的组合),因为static 是静态修饰符,不需要被实例化,用类名就可以调用,但abstract 没有方法实现调用方法就会出错。