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

java面向对象(继承与多态)

程序员文章站 2024-03-15 17:45:48
...

一、继承

继承的概念

继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。

java面向对象(继承与多态)
虽然食草动物和食肉动物都是属于动物,但是两者的属性和行为上有差别,所以子类会具有父类的一般特性也会具有自身的特性。

继承的使用

在Java中继承的关键字是extends
把公共属性和行为提取出来放在父类,由子类扩充父类来实现更多的特性,这样就节约了很多代码,程序变得更加简洁,而且容易扩充。

例如

class 父类 {
}
 
class 子类 extends 父类 {
}

需要注意的是 Java 不支持多继承,但支持多重继承。

java面向对象(继承与多态)

二、多态

多态是同一个行为具有多个不同表现形式或形态的能力。

多态的优点:

  1. 可替换性
  2. 可扩充性
  3. 接口性
  4. 灵活性
  5. 简化性

多态存在的三个必要条件

  1. 继承
  2. 重写
  3. 父类引用指向子类对象

方法覆盖(重写)

子类需要对父类的运转方法加以改进,变成子类自己的运转方法,这就需要在子类中重新编写运转方法,覆盖父类的运转方法,这种做法在JAVA中叫做方法的覆盖

例如在父类中定义

public String show(){
    return "";
}

而在子类中

public String show(){
        return "名称:"+super.getName()+"\n价格:"+super.getPrice()+"元"+"\n大小:"+super.getSize()+"寸";
    }

方法的重载和重写的区别:
重载可以发生任何一个类,而重写则只能是子类重写父类方法。

Super关键字

Super关键字引用当前对象的直接父类中的属性和方法(用来访问直接父类中被隐藏的属性和方法,经常在基类与派生类中有相同属性和方法定义时使用)
除了调用父类同名方法外,super还广泛的运用于构造方法内。
我们可以*书写super(),要遵循一定的原则:
1.super要放在第一行
2.super所指引的构造方法在父类中必须要有。

public PizzaSeafood(String name,int size, int price) {
        super(name,size, price);
        ...
    }

Final关键字

  1. final修饰类,那么这个类就不能被继承。
    java面向对象(继承与多态)java面向对象(继承与多态)

  2. final修饰方法,那么这个方法就不能被重写。
    java面向对象(继承与多态)java面向对象(继承与多态)

  3. final修饰属性那么属性值不能在被修改,

  4. final修饰变量,如果变量一旦被赋值,那么变量无法被修改

相关标签: 类与对象 java