21xrx.com
2024-12-23 02:39:46 Monday
登录
文章检索 我的文章 写文章
Java程序:面向对象编程与函数式编程
2023-06-16 12:53:58 深夜i     --     --
面向对象编程 成员变量 成员方法 构造方法

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流

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复