总的来说:编译时看父类,运行时看子类。
继承,子类继承父类中所以的属性和方法,但是对于private的属相和方法,由于这个是父类的隐私,所以子类虽然是继承了,但是没有可以访问这些属性和方法的引用,所以相当于没有继承到。很多时候,可以理解为,没有继承。
多态:就是父类引用可以持有子类对象。这时候只能调用父类中的方法,而子类中特有方法是无法访问的,因为这个时候(编译时)你把他看作父类对象的原因,但是到了运行的时候,编译器就会发现这个父类引用中原来是一个子类的对像,所以如果父类和子类中有相同的方法时,调用的会是子类中的方法,而不是父类的。
一、继承通过扩展一个已有的类,并继承该类的属性和行为,来创建一个新的类。
已有的称为父类,新的类称为子类(父类派生子类,子类继承父类)。
(1)继承的优点: ①代码的可重用性; ②父类的属性的方法可用于子类; ③子类可扩展父类的属性和方法; ④设计应用程序变得更加简单。
(2)关键字“isa”用于判断父类和子类的继承关系是否正确。
(3)Java中继承的实现: public class 子类extends 父类{}(4)继承的单根性:在Java中一个类只能有一个父类;传递性:一个Java类可以父类,父类也可以有父类。
(5)所有类的根类: Object类,又叫基类或超类。
Object类是每个Java类的父类,要么是直接的父类,要么就是间接的父类。
Object类中的三个重要方法:①public boolean equals(Objectx):检测两个对象是否相等。
该方法经常被重写。
若两个对象通过该方法判断是相等的,那么两个对象的hashCode()方法应该产生相同的哈希码②public String toString:该方法返回对象的字符串表示。
用字符串来表示对象有助于调试或测试。
③protected void finalize() throws Throwale:该方法在对象将要被垃圾回收时调用。
(6)方法重写:子类可以重写从父类继承的方法,从而允许子类添加或者改变父类中方法的行为。
该行为方法生在子类中,对父类方法重写。
子类重写父类方法时,浙江北大青鸟http://www.kmbdqn.cn/认为必须遵循如下规则:①子类的方法的返回值类型、方法名和形式参数列表必须和父类中的是相同的;②访问修饰符必须不小于父类中的访问修饰符;③子类中重写抛出的异常不能比父类中抛出的异常多。