JAVA中的继承和多态 1.首先,我们先看一段代码
void pprint() { this.print(); this.print1(0); } void print() { System.out.println("父类:同类型、同名、同参数成员方法!"); } void print1(int a) { System.out.println("父类:同类型、同名但参数不同的成员方法!"); } } class Subclass extends Parentclass { void sprint() { this.print(); this.print1(); } void print() { System.out.println("子类:同类型、同名、同参数成员方法!"); } void print1() { System.out.println("子类:同类型、同名但参数不同的成员方法!"); }
public class MethodInherit { public static void main(String[] args) { Subclass obj = new Subclass(); obj.pprint(); obj.sprint(); } }`
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 2.继承 (1).继承的概念: 继承即从已有的的类中派生出新的类,新的类能吸收已有的类数据属性和行为,并能扩展新的能力。(也就是说,比如:有两个类,一个是狗类(子类),另一个是猫类(子类),它们有很多相同的数据属性和行为。将这两个类的相同的数据属性和行为取出来,放在一个新的类中(父类)。) (2).继承的分类: 继承分为单继承和多继承,单继承是一个子类最多只能有一个父类;多继承是一个子类可有两个以上的父类。注意:java的类只支持单继承,而接口支持多继承即java多继承的功能是通过接口方式来间接实现的。 (3).关键字:extends 子类定义的一般格式: [类修饰符] class 子类名 extends 父类名 { 成员变量定义; 成员方法定义; } 如:class Subclass extends Parentclass
3.多态 多态的概念:所谓多态,多态是指方法有两种形态,编译时是一种,运行时是一种。 比如:代码编译到obj.pprint()时,pprint会看父类中有没有pprint方法,如果有编译通过,如果没有,则会报错。(这个过程叫做静态绑定) 运行时,pprint()会现在子类中找pprint方法,如果子类没有,则会去父类中找pprint方法。(这个过程叫做动态绑定)