1.继承:继承类称之为子类(基类、派生类)
被继承的类称之为父类(超类)
在 java 中的多态就体现在一个变量可以引用多个不同类对象,前提是这些不同类必须有者共同的父类,从而该变量可以且只能调用每个不同对象之间的公共操作集(方法)。父类引用可以引用子类对象,同时该父类引用只能访问所有子类的公有操作集(从父类继承过来的成员);当子类中已覆盖继承方法时,父类变量调用的将是子类中的已覆盖方法!
子类可以继承到父类的非私有的东西
子类可以有父类中没有的方法
3.自动转型:子类对象可以自动转换成父类类型,此时只能调用父类中有的方法,如果此方法被子类重写,优先执行子类中重写的方法
4.强制转型:将父类对象强制转换成子类类型(数据丢失,异常)
5.多态
多态性:发送消息给某个对象,让该对象自行决定响应何种行为。
通过将子类对象引用赋值给超类对象引用变量来实现动态方法调用。
java 的这种机制遵循一个原则:当超类对象引用变量引用子类对象时,被引用对象的类型而不是引用变量的类型决定了调用谁的成员方法,但是这个被调用的方法必须是在超类中定义过的,也就是说被子类覆盖的方法。
1. 如果a是类A的一个引用,那么,a可以指向类A的一个实例,或者说指向类A的一个子类。
2. 如果a是接口A的一个引用,那么,a必须指向实现了接口A的一个类的实例。
6.抽象方法:以abstract修饰的方法,这种方法只声明返回的数据类型、方法名称和所需的参数,没有方法体,也就是说抽象方法只需要声明而不需要实现。
只有在抽象类和接口中才可以使用抽象方法.
7.抽象类:使用 abstract 关键字标记的一般类.可包含一般类所包含的所有特性,例如,字段,属性,方法,另外还包含抽象方法。
8.接口:一种特殊的抽象类,用 interface 关键字标记。可以包含 方法和属性和事件,但是方法也只能是虚拟方法,任何派生于该接口的类就必须提供执行的代码.任何接口成员前面都不能加修饰符。
被继承的类称之为父类(超类)
在 java 中的多态就体现在一个变量可以引用多个不同类对象,前提是这些不同类必须有者共同的父类,从而该变量可以且只能调用每个不同对象之间的公共操作集(方法)。父类引用可以引用子类对象,同时该父类引用只能访问所有子类的公有操作集(从父类继承过来的成员);当子类中已覆盖继承方法时,父类变量调用的将是子类中的已覆盖方法!
子类可以继承到父类的非私有的东西
子类可以有父类中没有的方法
好处: 减少代码冗余;维护变得简单;扩展变得容易。
java中继承是单根继承 java 和某些面向对象语言(如 c++)在实现继承的不同之处在于java只支持单继承,不支持多重继承。即java 中一个类只能继承于另一个类。
2.方法的重写(方法覆盖)(override):如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写。
子类可以重写父类中的方法3.自动转型:子类对象可以自动转换成父类类型,此时只能调用父类中有的方法,如果此方法被子类重写,优先执行子类中重写的方法
4.强制转型:将父类对象强制转换成子类类型(数据丢失,异常)
5.多态
多态性:发送消息给某个对象,让该对象自行决定响应何种行为。
通过将子类对象引用赋值给超类对象引用变量来实现动态方法调用。
java 的这种机制遵循一个原则:当超类对象引用变量引用子类对象时,被引用对象的类型而不是引用变量的类型决定了调用谁的成员方法,但是这个被调用的方法必须是在超类中定义过的,也就是说被子类覆盖的方法。
1. 如果a是类A的一个引用,那么,a可以指向类A的一个实例,或者说指向类A的一个子类。
2. 如果a是接口A的一个引用,那么,a必须指向实现了接口A的一个类的实例。
6.抽象方法:以abstract修饰的方法,这种方法只声明返回的数据类型、方法名称和所需的参数,没有方法体,也就是说抽象方法只需要声明而不需要实现。
只有在抽象类和接口中才可以使用抽象方法.
7.抽象类:使用 abstract 关键字标记的一般类.可包含一般类所包含的所有特性,例如,字段,属性,方法,另外还包含抽象方法。
8.接口:一种特殊的抽象类,用 interface 关键字标记。可以包含 方法和属性和事件,但是方法也只能是虚拟方法,任何派生于该接口的类就必须提供执行的代码.任何接口成员前面都不能加修饰符。