JAVA中继承和多态

 

1.JAVA里没有多继承,一个类之能有一个父类。而继承的表现就是多态。一个父类可以有多个子类,而在子类里可以重写父类的方法(例如方法print()),这样每个子类里重写的代码不一样,自然表现形式就不一样。这样用父类的变量去引用不同的子类,在调用这个相同的方法print()的时候得到的结果和表现形式就不一样了,这就是多态,相同的消息(也就是调用相同的方法)会有不同的结果。举例说明:
//父类
public class Father{
   //父类有一个打孩子方法
   public void hitChild(){
   }
}
//子类1
public class Son1 extends Father{
   //重写父类打孩子方法
   public void hitChild(){
      System.out.println("为什么打我?我做错什么了!");
   }
}
//子类2
public class Son2 extends Father{
   //重写父类打孩子方法
   public void hitChild(){
      System.out.println("我知道错了,别打了!");
   }
}
//子类3
public class Son3 extends Father{
   //重写父类打孩子方法
   public void hitChild(){
      System.out.println("我跑,你打不着!");
   }
}
//测试类
public class Test{
   public static void main(String args[]){
      Father father;
      father = new Son1();
      father.hitChild();
      father = new Son2();
      father.hitChild();
      father = new Son3();
      father.hitChild();
   } }
都调用了相同的方法,出现了不同的结果!这就是多态的表现!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,关于Java继承多态,简单来说,继承是指一个类可以基于另一个类来创建自己的成员变量和方法,而多态则是指不同的对象可以以相同的方式进行处理。 下面是一个简单的继承示例: ``` class Animal { public void sound() { System.out.println("Animal makes a sound"); } } class Dog extends Animal { public void sound() { System.out.println("Dog barks"); } } class Cat extends Animal { public void sound() { System.out.println("Cat meows"); } } public class Main { public static void main(String[] args) { Animal a = new Animal(); Animal d = new Dog(); Animal c = new Cat(); a.sound(); d.sound(); c.sound(); } } ``` 在这个示例,我们定义了一个基类 `Animal`,这个类有一个 `sound` 方法,然后我们又定义了两个子类 `Dog` 和 `Cat`,它们都继承了 `Animal` 类,并且重写了 `sound` 方法。在 `Main` 类,我们分别创建了一个基类对象和两个子类对象,并调用了它们的 `sound` 方法。由于子类重写了基类的 `sound` 方法,因此调用子类对象的 `sound` 方法时输出的内容也不同。 接下来,我们来看一下多态的示例: ``` class Shape { public void draw() { System.out.println("Drawing a shape"); } } class Circle extends Shape { public void draw() { System.out.println("Drawing a circle"); } } class Square extends Shape { public void draw() { System.out.println("Drawing a square"); } } public class Main { public static void main(String[] args) { Shape s1 = new Circle(); Shape s2 = new Square(); s1.draw(); s2.draw(); } } ``` 在这个示例,我们定义了一个基类 `Shape`,这个类有一个 `draw` 方法,然后我们又定义了两个子类 `Circle` 和 `Square`,它们都继承了 `Shape` 类,并且重写了 `draw` 方法。在 `Main` 类,我们分别创建了一个 `Circle` 对象和一个 `Square` 对象,并将它们赋值给一个类型为 `Shape` 的变量。然后,我们调用了这两个变量的 `draw` 方法。由于这两个变量实际上分别指向了 `Circle` 对象和 `Square` 对象,因此它们在调用 `draw` 方法时输出的内容也不同。这就是多态的作用,即不同的对象可以以相同的方式进行处理。 希望这个简单的示例能够帮助你理解继承多态的概念和用法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值