大一下 软件工程与计算1 简单再谈谈java中的类和接口 20240609

先谈类和接口

当我们谈论Java中的类和接口时,我们实际上是在讨论面向对象编程(Object-Oriented Programming,OOP)的核心概念。OOP 是一种编程范式,它将程序视为一组对象的集合,这些对象可以相互交互,通过消息传递来处理数据。让我们从头开始慢慢介绍。

类(Class)
在Java中,一个类是对象的蓝图或模板。它描述了对象的状态(属性)和行为(方法)。类通常包含以下内容:

属性(Fields):也称为成员变量,表示对象的状态或特征。例如,在一个叫做Circle的类中,radius可以是一个属性,用于表示圆的半径。

方法(Methods):定义了对象可以执行的操作。这些操作可以访问和修改对象的状态。例如,在Circle类中,calculateArea()和calculatePerimeter()可以是方法,用于计算圆的面积和周长。

构造函数(Constructor):用于创建对象并对其进行初始化。构造函数的名称必须与类名相同,它可以有参数,用于接收创建对象时传递的初始值。

访问修饰符(Access Modifiers):用于限定类的属性和方法的访问权限。常见的访问修饰符有public、protected、private和默认(没有任何修饰符)。

下面是一个简单的Java类的示例:

java
public class Circle {
// 属性
private double radius;

// 构造函数
public Circle(double radius) {
    this.radius = radius;
}

// 方法
public double calculateArea() {
    return Math.PI * radius * radius;
}

public double calculatePerimeter() {
    return 2 * Math.PI * radius;
}

}
对象(Object)
对象是类的实例。当我们实例化一个类时,我们创建了一个具体的对象,该对象具有类中定义的属性和方法。例如,通过Circle类创建一个具体的圆对象:

java
Circle myCircle = new Circle(5.0);
在这个例子中,myCircle就是Circle类的一个对象。我们可以通过该对象访问其属性和方法。

java
double area = myCircle.calculateArea();
double perimeter = myCircle.calculatePerimeter();
接口(Interface)
接口是一种抽象数据类型,它定义了一组方法的规范,但并不提供方法的实现。接口可以看作是一种契约,实现了接口的类必须提供接口中定义的所有方法。接口中的方法默认是公共的(public)且抽象的(abstract),因此可以省略这些修饰符。

下面是一个简单的接口示例:

java
public interface GeometricObject {
double getPerimeter();
double getArea();
}
实现(Implementation)
当一个类实现了一个接口时,它必须提供接口中定义的所有方法的实现。一个类可以实现多个接口,这种多接口实现提供了Java的灵活性。

下面是一个实现接口的类的示例:

java
public class Circle implements GeometricObject {
private double radius;

public Circle(double radius) {
    this.radius = radius;
}

@Override
public double getPerimeter() {
    return 2 * Math.PI * radius;
}

@Override
public double getArea() {
    return Math.PI * radius * radius;
}

}
在这个例子中,Circle类实现了GeometricObject接口,并提供了getPerimeter()和getArea()方法的具体实现。

继承(Inheritance)
继承是一种重要的OOP概念,它允许一个类(子类)继承另一个类(父类)的属性和方法。子类可以使用父类中的属性和方法,也可以扩展或修改它们。Java中支持单继承,即一个子类只能有一个直接的父类。

下面是一个简单的继承示例:

java
public class ResizableCircle extends Circle {
// 子类的额外属性和方法
}
在这个例子中,ResizableCircle类继承了Circle类的所有属性和方法,并且可以添加额外的属性和方法。

protected某个变量的意义:

使用 protected 关键字修饰的变量可以被同一包内的其他类访问,以及该类的子类访问。这意味着在这个类中,该变量可以被该类的方法和任何继承自这个类的子类方法直接访问和操作。
将变量定义为 protected 而不是 private 的主要原因是为了允许子类访问和修改这个属性。

posted @   陆舟LandBoat  阅读(22)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示