Wrayの知识库 Wrayの知识库
首页
  • Java 基础
  • Java 集合
  • Java 并发
  • Java IO
  • JVM
  • Spring Framework
  • Spring Boot
  • Spring Cloud
  • Spring Security
  • MySQL
  • Redis
  • MacOS
  • Linux
  • Windows
  • 纸质书
  • 电子书
  • 学习课程
疑难杂症
GitHub (opens new window)
首页
  • Java 基础
  • Java 集合
  • Java 并发
  • Java IO
  • JVM
  • Spring Framework
  • Spring Boot
  • Spring Cloud
  • Spring Security
  • MySQL
  • Redis
  • MacOS
  • Linux
  • Windows
  • 纸质书
  • 电子书
  • 学习课程
疑难杂症
GitHub (opens new window)
  • Java基础

    • Java概述
    • Java语法
    • 面向对象编程
      • 封装、继承、多态
      • 类和对象
      • 包
      • 变量
      • 方法
      • 访问修饰符
      • 抽象类
      • 接口
      • 内部类
      • 方法重写和重载
      • 注解
      • 枚举
    • Java数组
    • String字符串
    • 异常处理
  • Java集合

    • Java集合概述
    • ArrayList
    • LinkedList
    • HashMap
    • LinkedHashMap
    • HashSet
    • TreeMap
    • Queue&Deque
  • Java并发

    • Java并发概述
    • 线程与进程
    • Thread类与线程生命周期
    • 线程安全
    • synchronized关键字
    • volatile关键字
    • Java内存模型(JMM)
    • 线程间通信
    • 线程池
    • 并发工具类
    • 原子操作类Atomic
    • 并发锁
    • 并发容器
    • ConcurrentHashMap
    • BlockingQueue
    • CopyOnWriteArrayList
    • ThreadLocal
    • Fork/Join框架
    • ScheduledThreadPoolExecutor
    • CompletableFuture
  • Java IO

    • Java IO概述
  • JVM

    • JVM概述
目录

面向对象编程

面向对象编程(OOP)是 Java 的核心思想之一,它通过封装、继承和多态来实现代码的复用性和可维护性。以下是面向对象编程中一些关键的概念和实现方式:

# 封装、继承、多态

  1. 封装:将对象的状态(属性)和行为(方法)隐藏在类内部,只通过对外公开的方法进行访问和修改,保证了对象数据的安全性和完整性。

    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;
        }
    }
    
  2. 继承:通过继承,子类可以复用父类的代码,同时也可以添加自己的新功能。Java 中只支持单继承,但可以通过接口实现多重继承的效果。

    public class Animal {
        void makeSound() {
            System.out.println("Some sound");
        }
    }
    
    public class Dog extends Animal {
        @Override
        void makeSound() {
            System.out.println("Bark");
        }
    }
    
  3. 多态:在继承的基础上,通过父类引用指向子类对象,可以在运行时决定具体调用哪个方法。多态提高了代码的灵活性和扩展性。

    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
Java语法
Java数组

← Java语法 Java数组→

Copyright © 2023-2024 Wray | 鄂ICP备2024050235号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式