什么是继承,什么是多态,方法的重载和覆盖有何区别?
1、什么是继承?
继承是子类调用父类的属性和方法。在Java中通过extends关键字实现,格式为Class 子类 extends 父类{主体}。
子类不能继承父类private的特性和构造方法。Java中只能是单继承的**,一个类只可以有一个父类,一个父类可以有多个子类**,实例化子类默认优先调用父类。
2、什么是多态?
多态是建立在继承的基础上的,先有继承才能有多态。多态是指不同的子类在继承父类后分别重写父类的方法。即父类同一个方法,在继承的子类中表现出不同形式。多态成立的另一个条件是在创建子类时必须使用父类new子类的形式,且子类必须重写子类的方法。
多态就是父类引用指向子类对象。
3、方法的重载和覆盖有何区别?
覆盖(重写):指在派生类中重新对基类的虚函数重新实现。即函数名和参数都一样,只是函数的实现体不一样。
重载:指在用一个类中的同名方法,是多样性在同一个类中的一种表现。主要是为了实现同一功能,而使用统一的方法处理不同类型的数据。重载必须满足以下三个条件:
1)、方法的名称必须相同;
2)、方法参数必须不同
1.参数个数不同,类型无限制
2.参数个数相同,但是参数类型不同;
3.参数个数和类型都相同,但是参数的顺序不同。
3)、方法的返回类型和修饰符可以相同,也可以不相同。