一、对象与类
在Java中,引用数据类型主要包括对象和类。Java中的对象是类的一个实例,是引用数据类型。
Java中的类是一组有关联的方法和属性的集合。类定义了对象的行为和特征,是引用数据类型的模板。
对象和类是Java中的重要概念。对象用于存储和操作实际数据,类用于定义和描述对象的各种属性和方法。
public class Person { private String name; private int age; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public void sayHello() { System.out.println("Hello " + name); } } Person person = new Person(); person.setName("Tom"); person.setAge(20); person.sayHello();
二、字符串与数组
Java中的字符串和数组也是引用数据类型。字符串是由多个字符组成的序列,可以使用字符串类来操作。数组是由相同类型的元素按一定格式排列的集合。
字符串和数组在Java中有很多应用场景,例如GUI编程、网络编程、算法实现等。
// 字符串操作示例 String str = "Java is a good language"; System.out.println(str.length()); System.out.println(str.charAt(1)); System.out.println(str.indexOf("good")); System.out.println(str.substring(5, 11)); // 数组操作示例 int[] arr = {1, 2, 3, 4, 5}; System.out.println(arr.length); System.out.println(arr[2]); Arrays.sort(arr); System.out.println(Arrays.toString(arr));
三、集合与泛型
Java中的集合是一组对象的容器,用于存储、排序和处理多个对象。Java中的集合框架包括List、Set、Map等常用集合类型。
泛型是Java SE 5中引入的特性,用于实现参数化类型。泛型可以使代码更灵活、可重用和类型安全。
// 集合操作示例 Listlist = new ArrayList (); list.add("apple"); list.add("banana"); list.add("orange"); System.out.println("List size: " + list.size()); System.out.println("Element at index 1: " + list.get(1)); list.remove(0); System.out.println("List after removing first element: " + list.toString()); // 泛型操作示例 class Box { private T item; public Box(T item) { this.item = item; } public T getItem() { return this.item; } } Box box = new Box ("Hello"); System.out.println(box.getItem());
四、接口和抽象类
接口和抽象类是Java中的两个重要概念。接口是一组方法签名的集合,不包含方法实现;抽象类是一种特殊的类,无法被实例化,包含抽象方法和非抽象方法。
接口和抽象类通常用于实现多态性和代码重用,可以减少代码中的重复和冗余。
// 接口操作示例 interface Shape { public void draw(); } class Circle implements Shape { @Override public void draw() { System.out.println("Drawing circle"); } } Shape s = new Circle(); s.draw(); // 抽象类操作示例 abstract class Animal { public void sleep() { System.out.println("Sleeping"); } public abstract void eat(); } class Dog extends Animal { @Override public void eat() { System.out.println("Eating meat"); } } Animal a = new Dog(); a.sleep(); a.eat();
五、线程与同步
线程和同步是Java中的重要概念,用于实现并发编程和多线程编程。线程是程序执行的单元,可以实现程序的并行执行;同步是为了避免并发问题,保证多线程数据的一致性。
Java中的线程和同步可以使用Thread类和synchronized关键字来实现。
// 线程操作示例 class MyThread extends Thread { @Override public void run() { System.out.println("Thread running"); } } MyThread t = new MyThread(); t.start(); // 同步操作示例 class Counter { private int count = 0; public synchronized void increment() { count++; } public int getCount() { return count; } } Counter c = new Counter(); Thread t1 = new Thread(() -> { for (int i = 0; i < 1000; i++) { c.increment(); } }); Thread t2 = new Thread(() -> { for (int i = 0; i < 1000; i++) { c.increment(); } }); t1.start(); t2.start(); t1.join(); t2.join(); System.out.println(c.getCount());