Java SE(Standard Edition)是Java平台的核心,为开发者提供了丰富的API和工具来构建各种桌面和移动应用。本文将深入探讨Java SE的核心概念,并通过代码示例来展示这些概念的应用。
1. 面向对象编程(OOP)
Java是一种面向对象的编程语言,它支持封装、继承、多态和抽象这四个主要的OOP概念。
封装
封装是将对象的实现细节隐藏起来,只暴露出一个可以被外界访问的接口。
java
public class Car {
private String model; // 封装的私有属性
private int year;
public Car(String model, int year) {
this.model = model;
this.year = year;
}
public String getModel() {
return model;
}
public void setModel(String model) {
this.model = model;
}
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
}
继承
继承允许一个类(子类)继承另一个类(父类)的属性和方法。
java
public class Vehicle {
protected String type;
public Vehicle(String type) {
this.type = type;
}
// 可以被子类重写的公共方法
public void displayInfo() {
System.out.println("Vehicle Type: " + type);
}
}
public class Car extends Vehicle {
private String model;
public Car(String type, String model) {
super(type); // 调用父类的构造器
this.model = model;
}
@Override
public void displayInfo() {
super.displayInfo(); // 调用父类的方法
System.out.println("Model: " + model);
}
}
多态
多态允许同一个接口接受不同的数据类型。
java
public class Animal {
public void makeSound() {
System.out.println("Some sound");
}
}
public class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("Bark");
}
}
public class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("Meow");
}
}
public class Zoo {
public static void main(String[] args) {
Animal myAnimal = new Dog();
myAnimal.makeSound(); // 输出 "Bark"
myAnimal = new Cat();
myAnimal.makeSound(); // 输出 "Meow"
}
}
2. 集合框架
Java集合框架提供了一套标准的接口和实现,用于存储和操作一组对象。
List接口
java
import java.util.ArrayList;
import java.util.List;
public class ListExample {
public static void main(String[] args) {
List<String> fruits = new ArrayList<>();
fruits.add("Apple");
fruits.add("Banana");
fruits.add("Cherry");
for (String fruit : fruits) {
System.out.println(fruit);
}
}
}
Map接口
java
import java.util.HashMap;
import java.util.Map;
public class MapExample {
public static void main(String[] args) {
Map<String, Integer> ageMap = new HashMap<>();
ageMap.put("Alice", 25);
ageMap.put("Bob", 30);
System.out.println("Alice's age: " + ageMap.get("Alice"));
}
}
3. 输入与输出(I/O)
Java提供了一套丰富的I/O类库,用于处理文件和数据流。
文件读写
java
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class FileExample {
public static void main(String[] args) {
File file = new File("example.txt");
try (FileWriter writer = new FileWriter(file)) {
writer.write("Hello, Java SE!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
4. 异常处理
Java通过try-catch-finally块和throws关键字来处理异常。
java
public class ExceptionExample {
public static void main(String[] args) {
try {
int result = 10 / 0; // 这将导致ArithmeticException
} catch (ArithmeticException e) {
System.out.println("Cannot divide by zero.");
} finally {
System.out.println("This will always be executed.");
}
}
}
5. 多线程编程
Java支持多线程编程,允许同时执行多个任务。
创建线程
java
public class ThreadExample extends Thread {
@Override
public void run() {
System.out.println("Thread is running: " + Thread.currentThread().getName());
}
public static void main(String[] args) {
ThreadExample thread = new ThreadExample();
thread.start(); // 启动线程
}
}
结语
Java SE提供了强大的功能和工具,使得Java成为了一种多用途、跨平台的编程语言。通过深入理解Java SE的核心概念,开发者可以构建高效、可维护的应用程序。随着Java的不断发展,新的功能和改进也在不断地被引入,使得Java保持了其作为现代软件开发首选语言的地位。
以上是我对我近期学习的一个总结,如果有不对的地方或者有什么建议的话,都可以提出来哦。