Photo by Lorem Ipsum
694 words
3 minutes
Java SE 系列(二):面向对象
Java SE 教程
Posts in this series (10)AI 智能总结
Java SE 2 面向对象
本篇一次性吃透 Java 面向对象全套核心:类与对象、三大特性、抽象类、接口、关键字与权限修饰符,文字精炼、配套可运行代码,逻辑连贯、适合快速复盘。
一、类与对象
类是模板,对象是实例。类定义属性和行为,对象是类的具体个体。
// 定义类class Person { String name; int age; // 成员方法 public void say() { System.out.println(name + " " + age); }}// 创建对象public class Demo { public static void main(String[] args) { Person p = new Person(); p.name = "张三"; p.age = 20; p.say(); }}二、面向对象三大特性
1. 封装
隐藏内部数据,仅对外暴露访问方式,保证数据安全。核心:私有成员、公开 get/set。
class User { private int id; // 私有,外部无法直接访问 public int getId() { return id; } public void setId(int id) { this.id = id; }}2. 继承
使用 extends 实现子类复用父类代码,实现代码复用,单继承。
class Animal { public void run(){} }class Dog extends Animal { // 复用并拓展父类}3. 多态
父类引用指向子类对象,配合方法重写实现不同子类不同表现。
// 父类引用指向子类对象Animal a = new Dog();三、抽象类 abstract
用 abstract 修饰,有抽象方法必须为抽象类,不能实例化,强制子类重写抽象方法。
abstract class Shape { public abstract void draw(); // 抽象方法无实现}四、接口 interface
行为规范,完全解耦,JDK8 + 支持默认方法、静态方法。
接口默认变量 public static final,抽象方法默认 public abstract。
interface Move { void move();}五、this 与 super
this:指代当前对象,调用本类属性、方法、本类构造器
super:指代父类对象,调用父类属性、方法、父类构造器
public Person(String name){ this.name = name; // 本类成员赋值}public Student(){ super(); // 调用父类构造}六、内部类
定义在类内部的类,分为成员内部类、局部内部类、匿名内部类,常用于快速实现接口 / 抽象类。
new Move(){ @Override public void move() {}};七、权限修饰符(访问范围从大到小)
public:任意位置访问
protected:同包、子类访问
默认 (包访问):仅同包访问
private:仅本类访问
八、static & final
static
修饰静态资源,属于类而非对象,全局共享,可直接通过类名调用。
static void show(){}final
修饰变量:常量,不可修改
修饰方法:禁止重写
修饰类:禁止继承
整套知识点构成 Java 面向对象体系主干:用类与对象建模,封装保安全、继承提复用、多态扩拓展,抽象类与接口统一规范,权限与关键字精准控制代码特性。
Java SE 系列(二):面向对象
https://fuwari.vercel.app/posts/java-se-series/java-se-02-object/