IP地址配置HTTPS 内网IP配置HTTPS保姆教程
本文介绍了在Nginx中配置HTTPS的完整流程:1)使用OpenSSL生成自签名证书和私钥;2)解密私钥以避免重启时输入密码;3)配置Nginx支持HTTPS,包括指定证书路径、设置安全协议和加密套件等。适用于开发、测试和内网环境,但需注意自签名证书会触发浏览器警告,生产环境建议使用CA签发的正式证书。通过简单的命令和配置即可实现基本的HTTPS加密保护。

面向对象是一种以“类”和“对象”为核心的程序设计范式。它提倡将现实世界中的实体抽象为程序中的“对象”,进行状态和行为的封装,使代码更易理解、维护和扩展(掘金)。
Java 作为典型的面向对象语言,其五大核心特性提升了程序的模块化、可复用性和安全性。
定义:把属性和方法捆绑在同一个类中,隐藏内部状态,仅对外暴露接口(segmentfault.com)。
好处:
示例代码:
public class Person {
private String name;
private int age;
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public int getAge() { return age; }
public void setAge(int age) {
if (age >= 0) this.age = age;
}
}
定义:子类继承父类的属性和方法,从而实现代码复用(掘金, 博客园)。
类型:单继承、多层继承、层次继承等(GeeksforGeeks)。
示例:
class Animal {
void eat() { System.out.println("Animal eats"); }
}
class Dog extends Animal {
void bark() { System.out.println("Dog barks"); }
}
定义:同一个方法调用可以表现出不同行为(编译时与运行时多态)(GeeksforGeeks, 博客园)。
形式:
示例:
class Shape {
void draw() { System.out.println("Drawing shape"); }
}
class Circle extends Shape {
@Override
void draw() { System.out.println("Drawing circle"); }
}
Shape s = new Circle();
s.draw(); // 输出:Drawing circle
定义:抽象即只暴露必需部分,隐藏具体实现——通过 abstract 类和接口来实现(Oryoy, CSDN博客)。
优势:提供共性规范,防止重复,实现灵活扩展(掘金, Oryoy)。
示例:
abstract class Vehicle {
abstract void start();
}
class Car extends Vehicle {
@Override
void start() { System.out.println("Car starts"); }
}
除了前四大特性,Java 还通过接口实现标准化与模块化。更深入的是遵循 SOLID 设计原则(CSDN博客):
通过这些原则,代码可更高内聚、低耦合、易扩展、可测试。
| 特性 | 核心 | 好处 |
|---|---|---|
| 封装 | 隐藏细节 | 安全、易维护 |
| 继承 | 复用机制 | 降低冗余、增强扩展性 |
| 多态 | 行为多样性 | 高灵活性、易扩展 |
| 抽象 | 只露接口 | 确保设计一致、可替换 |
| 接口 + SOLID | 设计精细化 | 构建高质量代码体系 |







