Java基础
Java基础
概述
Java是一种面向对象的编程语言,具有"一次编写,到处运行"的特性。本文档涵盖Java语言的核心概念和基础知识。
Java语言特性
1. 面向对象
- 封装(Encapsulation):将数据和操作数据的方法封装在一起
- 继承(Inheritance):子类可以继承父类的属性和方法
- 多态(Polymorphism):同一个接口可以有多种不同的实现
2. 平台无关性
- Java源代码编译成字节码(.class文件)
- 字节码在Java虚拟机(JVM)上运行
- 不同平台有对应的JVM实现
3. 自动内存管理
- 垃圾回收器自动管理内存
- 程序员无需手动释放内存
基本数据类型
整数类型
byte
:8位,范围 -128 到 127short
:16位,范围 -32,768 到 32,767int
:32位,范围 -2^31 到 2^31-1long
:64位,范围 -2^63 到 2^63-1
浮点类型
float
:32位单精度浮点数double
:64位双精度浮点数
其他类型
char
:16位Unicode字符boolean
:true或false
面向对象编程
类和对象
java
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
继承
java
public class Student extends Person {
private String studentId;
public Student(String name, int age, String studentId) {
super(name, age);
this.studentId = studentId;
}
}
public class Student extends Person {
private String studentId;
public Student(String name, int age, String studentId) {
super(name, age);
this.studentId = studentId;
}
}
接口
java
public interface Drawable {
void draw();
}
public class Circle implements Drawable {
@Override
public void draw() {
System.out.println("Drawing a circle");
}
}
public interface Drawable {
void draw();
}
public class Circle implements Drawable {
@Override
public void draw() {
System.out.println("Drawing a circle");
}
}
异常处理
异常层次结构
Throwable
Error
:系统级错误,程序无法处理Exception
:程序可以处理的异常RuntimeException
:运行时异常(非检查异常)- 其他Exception:检查异常
try-catch-finally
java
try {
// 可能抛出异常的代码
int result = 10 / 0;
} catch (ArithmeticException e) {
// 处理算术异常
System.out.println("除零错误:" + e.getMessage());
} finally {
// 无论是否发生异常都会执行
System.out.println("清理资源");
}
try {
// 可能抛出异常的代码
int result = 10 / 0;
} catch (ArithmeticException e) {
// 处理算术异常
System.out.println("除零错误:" + e.getMessage());
} finally {
// 无论是否发生异常都会执行
System.out.println("清理资源");
}
常用API
String类
- 不可变字符串类
- 常用方法:
length()
、charAt()
、substring()
、indexOf()
等
StringBuilder和StringBuffer
- 可变字符串类
- StringBuilder:非线程安全,性能更好
- StringBuffer:线程安全
包装类
- 基本数据类型对应的包装类
- 自动装箱和拆箱机制
总结
Java基础是学习Java技术栈的根基,掌握这些核心概念对于深入学习Java框架和技术至关重要。建议通过大量的编程实践来巩固这些基础知识。