21xrx.com
2025-03-24 12:51:28 Monday
文章检索 我的文章 写文章
Java程序:面向对象编程与函数式编程
2023-06-16 12:53:58 深夜i     10     0
面向对象编程 成员变量 成员方法 构造方法

Java程序可以分成两类:面向对象编程和函数式编程。面向对象编程是Java最基本的编程范式,它强调把数据和操作数据的方法打包在一起,实现数据的封装、继承和多态。函数式编程则是近年来新兴的编程范式,它将函数作为一等公民,强调函数的复用和组合,简化了程序的复杂度。

下面分别从面向对象编程和函数式编程两个方面介绍Java程序的特点和使用方法:

面向对象编程:

Java语言最大的特点之一就是面向对象编程。面向对象编程将代码封装成对象,可以快速搭建稳定、安全可靠的程序。以下是一个面向对象编程的案例:

public class Person {
  // 成员变量
  private String name;
  private int age;
  // 构造方法
  public Person(String name, int age)
    this.name = name;
    this.age = age;
  
  // 成员方法
  public void sayHello() {
    System.out.println("Hello, my name is " + this.name + ", I am " + this.age + " years old.");
  }
}
public class Main {
  public static void main(String[] args) {
    Person p = new Person("Tom", 18);
    p.sayHello();
  }
}

以上代码定义了一个Person类,包含姓名和年龄两个成员变量,以及sayHello()方法,用于打招呼。在main()函数中创建一个Person对象,调用它的sayHello()方法。

函数式编程:

Java 8引入了lambda表达式和函数式接口等特性,进一步增强了函数式编程的能力。以下是一个函数式编程的案例:

import java.util.Arrays;
public class Main {
  public static void main(String[] args) {
    int[] arr = 3;
    Arrays.stream(arr)
       .map(x -> x + 1)
       .filter(x -> x % 2 == 0)
       .forEach(System.out::println);
  }
}

以上代码利用Java 8的stream流特性,对一个数组进行加1、过滤偶数和输出的操作。其中,map()方法和filter()方法都接受一个函数对象作为参数,分别对集合中的元素进行映射和过滤,并返回一个新的Stream对象。最后,forEach()方法遍历输出结果。

关键词:函数式编程、Lambda表达式、函数式接口、stream流

  
  

评论区

请求出错了