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

java 封装、继承、多态

程序员文章站 2024-03-16 23:14:10
...

面向对象有广为流传的三大特征:封装、继承、多态。

1.封装

首先讲到的是封装,封装也是日常应用的最为广泛和基础的概念,比如方法的封装,类的封装等。我觉着从定义来讲有以下两点:

(1)方法的封装:编程中,把功能作为一个单位,隐藏其实现细节

(2)设置变量的可见性: 对于不同的对象,有不同的访问权限

修饰符 可见性
public 对任意地方
protected 当前类及子类

default

同一包下
private 当前类中
public class Student {
    private String name;
    private int age;
    private int id;
    public void study(){
        System.out.println("正在学习");
    }
}

2.继承

Java中的继承是指在一个现有类(父类)的基础上在构建一个新类(子类),子类可以拥有父类的成员变量以及成员方法(但是不一定能访问或调用,例如父类中private私有的成员变量以及方法不能访问和调用)。

继承的作用就是能提高代码的复用性。子类拥有父类中的一切(拥有不一定能使用),它可以访问和使用父类中的非私有成员变量,以及重写父类中的非私有成员方法。

java 封装、继承、多态

3.多态

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

多态就是同一个接口,使用不同的实例而执行不同操作,如图所示:

java 封装、继承、多态

可以理解为不同的类虽然执行相同的方法,但是得到的效果却不一样(通常通过重写方式实现、实现接口方法实现)

public interface Printer {
    void print();
}
public class ColorPrinter implements Printer {
    @Override
    public void print() {
        System.out.println("打印出彩色照片");
    }
}
public class WhitePrinter implements Printer {
    @Override
    public void print() {
        System.out.println("打印出黑白照片");
    }
}
public class MainTest {
    public static void main(String[] args) {
         ColorPrinter colorPrinter = new ColorPrinter();
         WhitePrinter whitePrinter = new WhitePrinter();
         printPhoto(colorPrinter);
         printPhoto(whitePrinter);
    }
    static void printPhoto(Printer printer){
        printer.print();
    }
}

java 封装、继承、多态

 

 

 

 

 

 

相关标签: java