继承:
概述:继承就是一个类(父类,也叫超类)派生出新的类,这个类吸收了父类中的方法和属性,这个类就是子类。
作用:主要的作用就是提高代码的复用性和可扩展性,降低开发时间,降低开发成本。
语法:通过子类extends父类来实现。父类中的属性,方法可以被继承,方法可以被重写。父类可以被多个类所继承,但是一个子类只能继承一个父类。
继承的写法遵循ocp原则(开闭原则)开放功能的扩展,关闭代码的修改。
super:
作用:super()的作用是调用父类的无参构造方法,super.的作用是引用父类中的方法。
super和this的区别:
super是在继承的前提下才可以使用,而this是用在本类中的,super和this一样,都是用在构造方法的第一行。
重写:
概述:重写是发生在继承的前提下,将父类中的方法进行重写。
作用:重写的作用就是提高程序的扩展性。
语法:权限修饰符(必须大于等于父类中的权限修饰)+返回值(和父类一样)+方法名(和父类保持一致){对代码体进行重写}
@Override和@Overload的区别
override指的是重写,而overload指的的是重载,重写发生在一个类中,而重载是发生在父类和子类中,作用不一样,重载的作用是提高程序的灵活性,而重写的作用是提高程序的扩展性。
statsc:
概述:statsc是代码中的关键字,主要用来修饰变量,方法,被statsc修饰的方法可以被继承,但不能被重写。
作用:被statsc修饰的变量和方法会被优先于new加载,因为它是随着类的加载而加载,并且只会加载一次。可以直接通过类名来调用。
语法:静态资源只能调静态资源,而普通资源则都可以调用。
statsc代码块:
语法:statsc加{}
和构造代码块的区别:statsc代码块和成员位置的构造代码块有个相同的位置,都是在类里方法外。都会先执行代码块,再执行其他的方法。不同的是,静态代码块只能执行一次,随着类的加载而加载,随着类的消失而消失,而构造代码块每执行一次构造方法就会执行一次构造代码块。
final:
概述:final也是代码中的关键字,主要用来修饰类,变量,方法。
作用:被final修饰的类不能被继承,被修饰的变量可以被继承但不能被修改,被修饰的方法不能被重写。
多态:
概述:多态就是一个类有多种形态。比如一只小狗,可以是狗,也可以是动物。
作用:多态的作用就是提高程序的通用性和统一性。通用性体现在哪个方面呢,比如,一段程序中,可以会出现各种各样的异常,比如算术异常,下标越界,等等,我们不可能清楚的知道每个异常,但是这些异常都继承于一个父类,exception,我们只要对父类异常做处理,这样出现其他的异常就也可以被捕获,这就体现了多态的通用性。而统一性呢使用多态就只能使用父类中的方法,但如果子类的方法被重写,则会调用子类的方法。
语法:引用父类 变量名指向子类。(Animal a=new Dog()),多态的编译主要看左边,运行看右边。多态的发生有两个前提,第一个是继承,第二个是重写。
抽象方法:
概述:没有方法体的方法为抽象方法,被abstract修饰,但一般隐藏。
作用:主要被用来重写。
抽象类:
概述:抽象类为抽象方法的集合。但一个类中可以有抽象方法,也可以有普通方法。一个类中没有抽象方法,这个类也可能是抽象类,但一个类中有抽象类,这个类一定是抽象类。
语法:被abstract修饰。抽象类不能被实例化,但可以被继承,但子类要么被继承,要么重写里面所有的抽象方法。
向上造型和向下造型的区别:
向上造型为多态的写法,主要作用就是提高代码的通用性和统一性。而向下造型则是将多态对象强制转为子类,从而能使用子类中的方法。
向上造型写法:
Animal a=new Dog();
向下造型写法:
Animal a=new Dog();
Dog d=(Dog) a;