Java面向对象教程

导言

Java作为一种高级编程语言,被广泛应用于各种领域。它的面向对象特性使得程序开发更加简洁和可维护。本教程将带你了解Java面向对象编程的基本概念和常用语法,帮助你快速入门Java编程。

面向对象编程概述

面向对象编程(Object-Oriented Programming,简称OOP)是一种编程思想和开发方法,它将现实世界中的事物抽象成为对象,并通过对象之间的交互来实现程序的功能。面向对象编程强调封装、继承和多态性,提高了程序的可复用性和扩展性。

类和对象

在面向对象编程中,类(Class)是对象的模板,描述了对象的属性和行为。每个对象都是根据类定义创建的,称为实例(Instance)或对象(Object)。

类的定义

类的定义使用关键字class,后跟类名。类名通常采用驼峰命名法,首字母大写。

public class Person {
    // 类的成员变量
    private String name;
    private int age;
    
    // 类的方法
    public void sayHello() {
        System.out.println("Hello, I'm " + name);
    }
}
对象的创建

通过new关键字可以根据类创建对象,并调用类的构造方法进行初始化。

public class Main {
    public static void main(String[] args) {
        // 创建Person对象
        Person person = new Person();
        
        // 调用对象的方法
        person.sayHello();
    }
}

封装

封装是面向对象编程的一项重要特性,它将数据和方法封装在类中,通过访问修饰符来控制对类的成员的访问权限。封装提供了数据的隐藏和保护,增强了代码的安全性和可维护性。

访问修饰符

Java提供了4种访问修饰符:

  • public:公开的,可以被任何类访问。
  • protected:受保护的,可以被同一包内的类和子类访问。
  • private:私有的,只能被当前类访问。
  • 默认(无修饰符):只能被同一包内的类访问。
成员变量和方法

类的成员变量用于保存对象的状态,成员方法用于操作对象。通过访问修饰符可以控制对成员变量的访问权限。

public class Person {
    // 私有成员变量
    private String name;
    private int age;
    
    // 公开成员方法
    public void setName(String name) {
        this.name = name;
    }
    
    public String getName() {
        return this.name;
    }
}

继承

继承是面向对象编程中的一种重要关系,它允许一个类继承另一个类的特性。继承可以减少代码的重复,提高代码的可复用性。

继承关键字

Java使用关键字extends表示类的继承关系。

public class Student extends Person {
    // 类的成员变量
    private String school;
    
    // 类的方法
    public void setSchool(String school) {
        this.school = school;
    }
    
    public String getSchool() {
        return this.school;
    }
}

多态性

多态性是面向对象编程中的一个重要特性,它允许一个对象表现出多种形态。多态性提高了代码的灵活性和可扩展性。

方法重载

方法重载是指在同一个类中,方法名称相同但参数列表不同的多个方法。

public class Calculator {
    public int add(int a, int b) {
        return a + b;
    }
    
    public float add(float a, float b) {
        return a + b;
    }
}
方法重写

方法重写是指