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私有的成员变量以及方法不能访问和调用)。
继承的作用就是能提高代码的复用性。子类拥有父类中的一切(拥有不一定能使用),它可以访问和使用父类中的非私有成员变量,以及重写父类中的非私有成员方法。
3.多态
多态是同一个行为具有多个不同表现形式或形态的能力。
多态就是同一个接口,使用不同的实例而执行不同操作,如图所示:
可以理解为不同的类虽然执行相同的方法,但是得到的效果却不一样(通常通过重写方式实现、实现接口方法实现)
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 封装、继承、多态
-
Python3面向对象编程的三大特性 封装、继承、多态
-
Java面向对象基础学习笔记(构造、重载、继承、多态、抽象类、接口、模块)
-
装饰者模式--除继承外的另一种扩展方式 博客分类: 设计模式 android设计模式装饰者模式java.io
-
Java异常类 博客分类: JavaException Exception类封装
-
Java面向对象与类(一):类与对象,封装和构造方法
-
Java面向对象与类(四):继承,super,this,抽象类
-
java基础知识--继承与多态
-
Java基础知识 || 06_类与对象、封装、构造方法
-
Java基础知识 六 类与对象、封装、构造方法