欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java基础之方法重写和多态示例

程序员文章站 2022-10-10 19:56:34
本文实例讲述了java基础之方法重写和多态。分享给大家供大家参考,具体如下: 示例代码: 子类的方法与父类的方法具有相同的返回类型和签名,子类方法重写父类方法。...

本文实例讲述了java基础之方法重写和多态。分享给大家供大家参考,具体如下:

示例代码:

子类的方法与父类的方法具有相同的返回类型和签名,子类方法重写父类方法。

class a{
  int i,j;          //父类变量
  a(int a,int b){    //父类构造
    i=a;
    j=b;
  }
  void show(){     //父类方法
    system.out.println(i+"  "+j);
  }
}
class b extends a{   //继承父类
  int k;             //子类变量
  b(int a,int b,int c){  //子类构造
    super(a,b);     //调用父类构造
    k=c;
  }
  void show(){     //子类方法重写父类方法,会隐藏父类方法
    system.out.println(i+"  "+j);
  }
  void show(string msg){   //子类方法,重载父类方法(方法签名不同,称为重载)
    //super.show();         //显示调用父类方法
    system.out.println(msg+k);
  }
}
class override{
  public static void main(string[] args){
    b b=new b(1,2,3);
    b.show("this is k: ");
    b.show();
  }
}

多态:父类对象可以引用子类对象,引用不同对象造成不同结果,称为多态。

class sup{          //父类
  void who(){
    system.out.println("sup");
  }
}
class sub1 extends sup{     //子类
  void who(){
    system.out.println("sub1");
  }
}
class sub2 extends sup{    //子类
  void who(){
    system.out.println("sub2");
  }
}
class dyndispdemo{
  public static void main(string[] args){
    sup sup=new sup();      //父类对象
    sub1 sub1=new sub1();  //子类对象
    sub2 sub2=new sub2();  //子类对象
    sup supf;    //父类对象
    supf=sup;   //父类对象引用父类对象
    supf.who(); //调用父类方法
    supf=sub1; //父类对象引用子类对象
    supf.who(); //调用子类方法
    supf=sub2; //父类对象引用子类对象
    supf.who(); //调用子类方法
  }
}

更多java相关内容感兴趣的读者可查看本站专题:《java面向对象程序设计入门与进阶教程》、《java数据结构与算法教程》、《java操作dom节点技巧总结》、《java文件与目录操作技巧汇总》和《java缓存操作技巧汇总

希望本文所述对大家java程序设计有所帮助。