继承和多态01(java)

package lian;
/*
 * 继承中构造方法的关系:
 * A:子类中所有的构造方法都默认访问父类中无参的构造方法
 * B:为什么会如此:
 * 因为子类会继承父类中的数据,可能还会使用父类中的数据。所以,子类初始化之前,一定要先完成父类数据的初始化。
 *
 * 继承中成员方法的关系:
 * A:子类中的方法和父类中的方法声明不一样。
 * B:子类中的方法和父类中的方法声明一样。(方法重写——override)
 * a:先找子类中的方法,有就使用。
 * b:再找父类中的方法,有就使用。
 * c:如果都没有就出错。
 */
class monkly extends animols{
 public monkly(){
  System.out.println("子类的无参构造");
 }
 public void show(){
  int a=123;
  System.out.println("子类的a");
 }
}
class  animols{
 public animols(){
  System.out.println("父类的无参构造");
 }
 public  void   show(){
  System.out.println("哈哈,我是中国人~");
 }
 
}
public class HelloWorld {
 public static void main(String[] args) {
   
     monkly m =new monkly();//构造函数不能被直接调用,必须通过new运算符在创建对象时才会自动调用
    System.out.println("---------------");
   animols a=new monkly();//多态调用了子类的方法
   a.show();
 
 }

}

原文地址:https://www.cnblogs.com/rong123/p/7255606.html