在Java中,类和接口是面向对象编程(OOP)的两个核心概念,它们用于定义对象的属性和行为。
类(Class)
定义:类是一种用户自定义的数据类型,它定义了一组属性(成员变量)和方法(成员函数)。类充当对象的蓝图或模板,用于创建具有相同属性和方法的对象。
特点:
可以包含构造方法、普通方法、静态方法、私有方法等。
可以被实例化,即可以创建类的对象。
成员变量默认是包级私有的,方法默认是public的。
类可以继承其他类(实现继承),也可以实现接口(实现多态)。
示例:
```java
public class Shape {
public abstract void draw(); // 抽象方法
}
接口(Interface)
定义:接口是一种完全抽象的类,它只包含抽象方法声明,没有具体实现。接口定义了一个类应该实现哪些方法,但不能定义成员变量。
特点:
接口中的方法默认是public和abstract的,所以不需要在接口中声明方法的访问修饰符。
接口可以包含常量、抽象方法、默认方法、静态方法等。
一个类可以实现多个接口,实现接口的类必须定义接口中的所有方法。
示例:
```java
public interface Drawable {
void draw(); // 抽象方法
}
总结
类:用于定义具体的对象,这些对象具有特定的属性和行为。
接口:用于定义一组行为,这些行为可以被任何类实现,实现接口的类必须提供接口中所有方法的具体实现。
接口和类都支持继承和多态,但接口强调的是行为的定义和实现,而类强调的是数据和行为的封装。接口使得代码更加灵活和可扩展,而类提供了更完整的对象模型