Java基础知识总结-抽象类与接口

抽象类与接口
  • 抽象类:不能被实例化,只能被继承,可以包含抽象方法(没有实现)和普通方法(有实现)。

代码语言:javascript

代码运行次数:0

运行

AI代码解释

abstract class Shape {
    abstract void draw();
}

class Circle extends Shape {
    void draw() {
        System.out.println("Drawing Circle");
    }
}
  • 接口:只包含抽象方法,类实现接口时必须实现所有方法。

代码语言:javascript

代码运行次数:0

运行

AI代码解释

interface Animal {
    void eat();
}

class Dog implements Animal {
    public void eat() {
        System.out.println("Dog is eating");
    }
}

5. Java常用类库
String类

String类用于处理字符串,具有很多常用的方法,如length()substring()indexOf()等。

代码语言:javascript

代码运行次数:0

运行

AI代码解释

String str = "Hello, World!";
int len = str.length();  // 获取字符串长度
String sub = str.substring(0, 5);  // 获取子字符串
日期与时间处理(java.time)

Java 8引入了java.time包,提供了更现代和更易用的日期和时间处理方式。

代码语言:javascript

代码运行次数:0

运行

AI代码解释

LocalDate date = LocalDate.now();
LocalTime time = LocalTime.now();
LocalDateTime dateTime = LocalDateTime.now();
集合框架(List, Set, Map)

Java提供了丰富的集合类,如ArrayListHashSetHashMap等,支持存储和操作对象集合。

代码语言:javascript

代码运行次数:0

运行

AI代码解释

List<String> list = new ArrayList<>();
list.add("Hello");
list.add("World");

Set<String> set = new HashSet<>();
set.add("Java");
set.add("Python");

Map<String, Integer> map = new HashMap<>();
map.put("A", 1);
map.put("B", 2);
输入输出(IO)流

Java的IO流处理分为字节流和字符流,常见的类有FileInputStreamBufferedReaderPrintWriter等。

代码语言:javascript

代码运行次数:0

运行

AI代码解释

BufferedReader reader = new BufferedReader(new FileReader("file.txt"));
String line = reader.readLine();
reader.close();

6. 异常处理
异常的类型

Java中的异常分为两种类型:

  • 检查异常:需要显式地捕获或声明的异常,如IOException
  • 运行时异常:程序运行时发生的异常,不强制捕获,如NullPointerException
异常的捕获与抛出

使用try-catch语句捕获异常,throw语句抛出异常。

代码语言:javascript

代码运行次数:0

运行

AI代码解释

try {
    int result = 10 / 0;
} catch (ArithmeticException e) {
    System.out.println("Error: " + e.getMessage());
}

7. 多线程与并发编程
线程的创建与启动

Java提供了Thread类和Runnable接口来创建和启动线程。

代码语言:javascript

代码运行次数:0

运行

AI代码解释

class MyThread extends Thread {
    public void run() {
        System.out.println("Thread running");
    }
}

MyThread thread = new MyThread();
thread.start();
同步机制(synchronized)

为了避免线程间的竞争条件,可以使用synchronized关键字来保证线程安全。

代码语言:javascript

代码运行次数:0

运行

AI代码解释

synchronized (this) {
    // thread-safe code
}
线程池

Java的ExecutorService提供了线程池来管理线程。

代码语言:javascript

代码运行次数:0

运行

AI代码解释

ExecutorService executor = Executors.newFixedThreadPool(10);
executor.submit(() -> {
    System.out.println("Task executed");
});
并发集合与工具类

Java还提供了ConcurrentHashMapCopyOnWriteArrayList等线程安全的集合,以及CountDownLatchCyclicBarrier等工具类来简化并发编程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值