面向对象编程
面向对象编程(OOP)是 Java 的核心思想之一,它通过封装、继承和多态来实现代码的复用性和可维护性。以下是面向对象编程中一些关键的概念和实现方式:
# 封装、继承、多态
封装:将对象的状态(属性)和行为(方法)隐藏在类内部,只通过对外公开的方法进行访问和修改,保证了对象数据的安全性和完整性。
public class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
继承:通过继承,子类可以复用父类的代码,同时也可以添加自己的新功能。Java 中只支持单继承,但可以通过接口实现多重继承的效果。
public class Animal { void makeSound() { System.out.println("Some sound"); } } public class Dog extends Animal { @Override void makeSound() { System.out.println("Bark"); } }
多态:在继承的基础上,通过父类引用指向子类对象,可以在运行时决定具体调用哪个方法。多态提高了代码的灵活性和扩展性。
Animal myDog = new Dog(); myDog.makeSound(); // 输出:Bark
# 类和对象
- 类是对象的蓝图,定义了对象的属性和行为。
- 对象是类的实例,是一个具体的存在。
# 包
包用于组织类,避免类名冲突,并且可以控制访问权限。
package com.example;
public class Sample {
// 类的定义
}
# 变量
Java 中的变量分为以下几种:
- 成员变量:类的属性,属于类对象。
- 局部变量:方法中的变量,属于方法。
- 静态变量:使用
static
关键字修饰,属于类本身而不是某个对象。
# 方法
方法是类的行为,定义了类可以做什么。方法可以有返回值,也可以没有(void
)。
public void greet() {
System.out.println("Hello, World!");
}
# 访问修饰符
Java 提供了四种访问修饰符:
- public:对所有类可见。
- protected:对同一个包内的类和所有子类可见。
- default(无修饰符):对同一个包内的类可见。
- private:仅对类内部可见。
# 抽象类
抽象类使用 abstract
关键字修饰,不能实例化,只能通过继承来实现。
abstract class Animal {
abstract void makeSound();
}
# 接口
接口是抽象方法的集合,使用 interface
关键字定义。接口可以多继承,用来实现多态。
interface Animal {
void makeSound();
}
# 内部类
Java 支持在一个类内部定义另一个类,称为内部类。内部类可以分为成员内部类、局部内部类和匿名内部类。
class Outer {
class Inner {
void display() {
System.out.println("This is an inner class");
}
}
}
# 方法重写和重载
- 方法重写(Override):子类重新定义父类中的方法,方法签名相同。
- 方法重载(Overload):同一类中多个方法具有相同的名字,但参数列表不同。
# 注解
注解(Annotation)是元数据,用于为代码提供额外的信息,例如 @Override
、@Deprecated
等。
# 枚举
枚举用于定义一组固定的常量,使用 enum
关键字。
enum Day {
MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
}
上次更新: 2024/10/31, 18:28:18