Java 课程

Java OOP: Classes, Objects, Inheritance

Python 3初学者教程。

Classes and Objects

A class is a blueprint; an object is an instance of that blueprint.

public class Person {
    // Fields (instance variables)
    private String name;
    private int age;

    // Constructor
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    // Getter
    public String getName() { return name; }

    // Method
    public void introduce() {
        System.out.println("Hi, I am " + name + ", age " + age);
    }
}

// Creating objects
Person alice = new Person("Alice", 30);
alice.introduce(); // "Hi, I am Alice, age 30"

Inheritance

public class Animal {
    protected String name;
    public Animal(String name) { this.name = name; }
    public void speak() { System.out.println(name + " makes a sound"); }
}

public class Dog extends Animal {
    public Dog(String name) { super(name); }

    @Override
    public void speak() { System.out.println(name + " barks!"); }
}

Animal a = new Dog("Rex");
a.speak(); // "Rex barks!" — polymorphism

Interfaces

public interface Flyable {
    void fly();
    default String getType() { return "flying object"; }
}

public class Bird extends Animal implements Flyable {
    public Bird(String name) { super(name); }
    public void fly() { System.out.println(name + " is flying!"); }
}

Abstract Classes

public abstract class Shape {
    abstract double area();

    void printArea() {
        System.out.println("Area: " + area());
    }
}

public class Circle extends Shape {
    double radius;
    Circle(double r) { this.radius = r; }
    double area() { return Math.PI * radius * radius; }
}

Encapsulation Summary

  • private — only accessible within the class
  • protected — accessible in class and subclasses
  • public — accessible everywhere
  • Use getters/setters to control access to private fields