概述
Java主流技术全面剖析:从基础回顾到面向对象编程、常用类库与并发编程,本文深入探讨Java核心能力。从一次编写、到处运行的跨平台性,到强大类库支持与高效线程管理,学习Java主流技术助你构建高性能应用。通过实战项目,将理论知识应用于图书管理系统开发,巩固Java多线程、集合框架等关键概念。
Java基础回顾
Java是一种广泛使用的通用编程语言,由James Gosling于Sun Microsystems(现属于Oracle)开发,首次发布于1995年。Java设计的核心目标是编写一次、到处运行(Write Once, Run Anywhere, WORA),这意味着Java程序可以在任何安装了Java虚拟机(JVM)的平台上运行。Java的主要特点是跨平台性、面向对象、自动内存管理、安全性和健壮性。现在,Java是许多服务器端应用、安卓应用程序以及大规模系统的核心组成部分。
Java开发环境搭建
步骤1:JDK安装
首先,下载Java Development Kit(JDK)的最新版本。访问Oracle的官方网站进行下载,选择适用于您操作系统的版本。安装过程中,确保勾选添加到环境变量的选项。
步骤2:环境变量配置
安装完成后,配置环境变量:
- JAVA_HOME:指向 JDK 的安装路径。
- Path:添加
%JAVA_HOME%\bin
。
步骤3:验证安装
通过命令行输入 java -version
和 javac -version
,确保可以正确输出 JDK 的版本信息。
面向对象编程(OOP)基础
Java 是一种基于类的面向对象编程语言,其核心概念包括封装、继承和多态。
封装:通过将数据和对数据的操作方法封装在类中,实现数据的私有化和方法的公共化。示例代码如下:
public class Employee {
private String name;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
继承:允许子类继承父类的属性和方法,实现代码复用。示例代码如下:
public class Employee {
private String name;
private String department;
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
public class Manager extends Employee {
private double bonus;
public void setBonus(double bonus) {
this.bonus = bonus;
}
public double getBonus() {
return bonus;
}
}
多态:指同一个接口可以有多种实现方式,通过方法重载和方法重写实现。示例代码如下:
public interface Shape {
double getArea();
}
public class Circle implements Shape {
private double radius;
public Circle(double radius) {
this.radius = radius;
}
public double getArea() {
return Math.PI * radius * radius;
}
}
public class Square implements Shape {
private double side;
public Square(double side) {
this.side = side;
}
public double getArea() {
return side * side;
}
}
public class TestPoly {
public static void main(String[] args) {
Shape[] shapes = new Shape[2];
shapes[0] = new Circle(5);
shapes[1] = new Square(4);
for (Shape shape : shapes) {
System.out.println("Area: " + shape.getArea());
}
}
}
Java常用类库介绍
Java 提供了强大的类库支持,包括 Java Collection Framework(集合框架)、Java IO 模块等。
Java Collection Framework(集合框架):集合框架包括各种容器类(如 ArrayList、HashMap),用于存储和操作数据。示例代码如下:
import java.util.ArrayList;
import java.util.HashMap;
public class Main {
public static void main(String[] args) {
ArrayList<String> items = new ArrayList<>();
items.add("Apple");
items.add("Banana");
items.add("Orange");
HashMap<String, Integer> prices = new HashMap<>();
prices.put("Apple", 2);
prices.put("Banana", 1);
prices.put("Orange", 3);
System.out.println("Items: " + items);
System.out.println("Prices: " + prices);
}
}
Java并发编程
多线程编程允许Java程序在多个线程中并发执行任务,提高程序的性能和响应速度。Java 提供了 Thread
类和 Runnable
接口来创建线程。示例代码如下:
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class SimpleThread {
public static void main(String[] args) {
ExecutorService executor = Executors.newFixedThreadPool(5);
for (int i = 0; i < 10; i++) {
executor.execute(new Task());
}
executor.shutdown();
}
static class Task implements Runnable {
@Override
public void run() {
System.out.println("Thread: " + Thread.currentThread().getName());
}
}
}
实战项目:构建一个简单的Java应用
为了巩固Java主流技术的运用,我们将构建一个简单的“图书管理系统”。
需求分析:系统需要实现以下功能:添加图书、查找图书、更新图书信息、删除图书。
设计与实现:
import java.util.ArrayList;
import java.util.Scanner;
class Book {
private String title;
private String author;
public Book(String title, String author) {
this.title = title;
this.author = author;
}
public String getTitle() {
return title;
}
public String getAuthor() {
return author;
}
}
class LibraryManager {
private ArrayList<Book> books;
public LibraryManager() {
books = new ArrayList<>();
}
public void addBook(Book book) {
books.add(book);
}
public Book searchBook(String title) {
for (Book book : books) {
if (book.getTitle().equals(title)) {
return book;
}
}
return null;
}
public void updateBook(Book book) {
for (int i = 0; i < books.size(); i++) {
if (books.get(i).getTitle().equals(book.getTitle())) {
books.set(i, book);
return;
}
}
}
public void deleteBook(String title) {
books.removeIf(book -> book.getTitle().equals(title));
}
}
public class Main {
public static void main(String[] args) {
LibraryManager manager = new LibraryManager();
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("1. Add Book");
System.out.println("2. Search Book");
System.out.println("3. Update Book");
System.out.println("4. Delete Book");
System.out.println("5. Exit");
System.out.print("Enter your choice: ");
int choice = scanner.nextInt();
switch (choice) {
case 1:
System.out.print("Enter book title: ");
String title = scanner.next();
System.out.print("Enter author: ");
String author = scanner.next();
Book book = new Book(title, author);
manager.addBook(book);
break;
case 2:
System.out.print("Enter book title to search: ");
title = scanner.next();
Book foundBook = manager.searchBook(title);
if (foundBook != null) {
System.out.println("Found: " + foundBook.getTitle() + " by " + foundBook.getAuthor());
} else {
System.out.println("Book not found.");
}
break;
case 3:
System.out.print("Enter book title to update: ");
title = scanner.next();
Book found = manager.searchBook(title);
if (found != null) {
System.out.print("Enter new title: ");
String newTitle = scanner.next();
System.out.print("Enter new author: ");
String newAuthor = scanner.next();
Book newBook = new Book(newTitle, newAuthor);
manager.updateBook(newBook);
} else {
System.out.println("Book not found.");
}
break;
case 4:
System.out.print("Enter book title to delete: ");
title = scanner.next();
manager.deleteBook(title);
break;
case 5:
scanner.close();
System.out.println("Exiting...");
return;
default:
System.out.println("Invalid choice. Try again.");
}
}
}
}
以上就是Java主流技术的基本介绍和一个简单的应用实例。通过这些内容的学习和实践,您将对Java的主流技术有更深入的理解和应用能力。为了进一步学习和提升,推荐访问在线学习平台如慕课网等,寻找更多Java相关的课程和资源。
共同學習,寫下你的評論
評論加載中...
作者其他優質文章