- 包:组织和管理类和接口。
- 抽象类:包含抽象方法的类,不能实例化。
- 接口:定义类必须实现的方法集合。
- 多态:方法可以有多种实现,允许对象以不同方式响应相同方法调用。
包(Package)
包(Package)是用于组织和管理Java类和接口的命名空间机制,避免类名冲突并提供访问控制。包名通常是反向域名。
package com.example.myapp;
public class MyClass {
// 类的内容
}
抽象类(Abstract Class)
抽象类是不能实例化的类,通常包含抽象方法(没有方法体),用于定义子类必须实现的方法。它们可以包含具体方法和成员变量。
abstract class Animal {
abstract void makeSound();
void sleep() {
System.out.println("Sleeping...");
}
}
class Dog extends Animal {
void makeSound() {
System.out.println("Bark");
}
}
接口(Interface)
接口是抽象类型,定义了一组方法,这些方法必须由实现接口的类来提供。接口只能包含抽象方法(默认是public)和常量。
interface Animal {
public final static int A = 0;
public default void mA(){
System.out.println("default");
}
public static void mB(){
System.out.println("static");
}
public abstract void mC();
private void mD(){
System.out.println("private");
}
void makeSound();
}
class Dog implements Animal {
public void makeSound() {
System.out.println("Bark");
}
}
多态(Polymorphism)
多态性是指一个方法可以有多种不同的实现,通常通过方法重载和方法重写实现。它允许对象以不同的方式响应相同的方法调用。
class Animal {
void makeSound() {
System.out.println("Some sound");
}
}
class Dog extends Animal {
void makeSound() {
System.out.println("Bark");
}
}
public class TestPolymorphism {
public static void main(String[] args) {
Animal myDog = new Dog();
myDog.makeSound(); // 输出 "Bark"
}
}