什么是抽象:
抽象简单来讲就是将事物所拥有的特性归结于一个类,并且通abstaract关键字来定义的的类。
抽象类里有方法,包括普通方法,构造方法,抽象方法;
什么是普通方法呢?
具有方法体的方法,就是普通方法;
什么是构造方法呢?
方法名与类名相同,没有返回值。
分为有参和无参,在没有定义有参构造函数时,系统会默认调用无参构造函数。
构造方法的主要作用:创建对象时执行一些初始化操作,为对象赋值。
什么是抽象方法呢?
抽象方法必须要用abstract关键字来定义,而且没有方法体;
抽象方法必须为public或者protected修饰符来修饰,默认是public;
值得注意的是抽象类不能被实例化,需要采用子类向上转型(自动转换类型)的方式进行处理;
抽象类必须拥有子类,用extends关键字来继承,一个子类只能继承一个抽象类;
子类(如果不是抽象类)则必须覆写抽象类中的全部抽象方法。(如果子类没有实现父类的抽象方法,则必须将子类用abstract关键字来定义为抽象类)
方法重载:
必须在同一个类里
方法名相同
参数列表(方法的参数的个数或参数类型)不同
与方法返回值和方法修饰符没有关系。
封装:
将类的状态信息隐藏在类的内部,不允许外部程序直接访问,而通过该类提供的方法来实现对隐藏信息的操作和访问。
属性私有,方法公有。
final不能与abstract共同修饰,final关键字定义的时不能被修改的,不能被继承的。