扫码关注微信公众号

回复“面试手册”,获取本站PDF版

回复“简历”,获取高质量简历模板

回复“加群”,加入程序员交流群

回复“电子书”,获取程序员类电子书

当前位置: Java > Java基础高频面试题 > 24. 面向对象三大特性(封装、继承、多态)
  • 封装

封装就是隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读和修改的访问级别。

  • 继承

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

  • 多态(重要)

多态是同一个行为具有多个不同表现形式或形态的能力。这句话不是很好理解,可以看这个解释,在Java语言中,多态就是指程序中定义的引用变量所指向的具体类型和通过该引用变量发出的方法调用在编程时并不确定,而是在程序运行期间才确定,即一个引用变量倒底会指向哪个类的实例对象,该引用变量发出的方法调用到底是哪个类中实现的方法,必须在由程序运行期间才能决定。

在Java中实现多态的三个必要条件:继承、重写、向上转型。继承和重写很好理解,向上转型是指在多态中需要将子类的引用赋给父类对象。

public class Main {
    public static void main(String[] args) {
          Person person = new Student(); //向上转型
          person.run();
    }
}

class Person {
    public void run() {
        System.out.println("Person");
    }
}

class Student extends Person {   //继承
    @Override 
    public void run() {         //重载
        System.out.println("Student");
    }
}

运行结果为

Student

点击面试手册,获取本站面试手册PDF完整版