Core Java 代码中有哪些关键特性或功能值得注意?
- 行业动态
- 2025-01-22
- 11
Core Java 是 Java 语言的核心部分,它涵盖了 Java 编程的基础概念、语法和核心类库,以下是关于 Core Java 的详细内容:
1、基本类型与操作
数据类型:包括基本数据类型(如int
、double
等)和引用数据类型(如对象、数组等)。int a = 5;
定义了一个整型变量a
并赋值为 5。
运算符:有算术运算符(+、-、*、/ 等)、关系运算符(==、!=、>、< 等)、逻辑运算符(&&、||、! 等)等,比如int b = a + 3;
使用了加法运算符。
控制流语句:如if
、else if
、else
用于条件判断,for
、while
、do...while
用于循环控制。
int num = 10; for (int i = 0; i < num; i++) { System.out.println(i); }
2、面向对象编程
类和对象:类是对象的模板,对象是类的实例。
class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } // getter 和 setter 方法省略 } Person person = new Person("Tom", 25);
继承:子类可以继承父类的属性和方法。
class Student extends Person { private String school; public Student(String name, int age, String school) { super(name, age); this.school = school; } }
多态:允许不同类的对象对同一消息做出不同的响应。
Person[] people = new Person[2]; people[0] = new Person("Alice", 30); people[1] = new Student("Bob", 20, "University A"); for (Person p : people) { p.display(); // 假设 Person 类和 Student 类都有 display 方法 }
3、异常处理
try-catch-finally:用于捕获和处理程序中可能出现的异常。
try { int result = 10 / 0; } catch (ArithmeticException e) { System.out.println("除数不能为 0"); } finally { System.out.println("无论是否发生异常,都会执行这里"); }
4、集合框架
List:如ArrayList
、LinkedList
等,用于存储有序的元素集合。
ArrayList<String> list = new ArrayList<>(); list.add("Hello"); list.add("World");
Set:如HashSet
、TreeSet
等,不允许存储重复的元素。
HashSet<String> set = new HashSet<>(); set.add("Hello"); set.add("World");
Map:如HashMap
、TreeMap
等,用于存储键值对。
HashMap<String, Integer> map = new HashMap<>(); map.put("One", 1); map.put("Two", 2);
5、输入输出流
文件读写:可以使用FileReader
、FileWriter
等进行文件的读取和写入。
try (FileWriter writer = new FileWriter("output.txt")) { writer.write("Hello, World!"); } catch (IOException e) { e.printStackTrace(); }
网络通信:利用Socket
类进行网络编程,实现客户端和服务器之间的通信。
ServerSocket serverSocket = new ServerSocket(8080); Socket socket = serverSocket.accept(); // 后续可以进行数据的接收和发送
6、线程与并发
创建线程:可以通过继承Thread
类或实现Runnable
接口来创建线程。
class MyThread extends Thread { @Override public void run() { System.out.println("这是线程运行"); } } MyThread thread = new MyThread(); thread.start();
同步与互斥:使用synchronized
关键字或其他并发工具来保证多线程环境下的数据安全和同步。
public synchronized void increment() { count++; }
7、设计模式:如单例模式、工厂模式、观察者模式等,用于解决软件设计中的常见问题,提高代码的可维护性和可扩展性,单例模式确保一个类只有一个实例:
单例模式:确保一个类只有一个实例,并提供全局访问点。
public class Singleton { private static Singleton instance; private Singleton() {} public static synchronized Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; } }
工厂模式:将对象的创建和使用分离,通过一个共同的接口来创建对象。
public interface Product { void use(); } public class ConcreteProduct implements Product { @Override public void use() { System.out.println("Using product"); } } public class Factory { public Product createProduct() { return new ConcreteProduct(); } }
观察者模式:定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。
import java.util.Observable; import java.util.Observer; public class Subject extends Observable { private int state; public void setState(int state) { this.state = state; setChanged(); notifyObservers(); } public int getState() { return state; } } public class ConcreteObserver implements Observer { @Override public void update(Observable o, Object arg) { Subject subject = (Subject) o; System.out.println("State changed to: " + subject.getState()); } }
以下是两个与 Core Java 相关的问题及解答:
1、问题:在 Java 中,如何实现一个简单的线程池?
答案:可以使用ExecutorService
来实现线程池,创建一个固定大小的线程池,然后提交任务给线程池执行,示例代码如下:
ExecutorService executor = Executors.newFixedThreadPool(5); for (int i = 0; i < 10; i++) { executor.execute(new RunnableTask()); } executor.shutdown();
2、问题:什么是 Java 中的反射机制,以及如何使用反射获取一个类的所有方法和属性?
答案:反射机制是在运行时动态获取类的信息并进行操作,可以使用Class
类的相关方法来获取一个类的所有方法和属性,获取一个类的所有方法可以使用getDeclaredMethods()
方法,获取所有属性可以使用getDeclaredFields()
方法,示例代码如下:
Class<?> clazz = MyClass.class; Method[] methods = clazz.getDeclaredMethods(); Field[] fields = clazz.getDeclaredFields();