魏裕雄的JAVA学习总结
JAVA学习总结
- Java面向对象程序设计知识总结
- 第1章 初识Java与面向对象程序设计
- JAVA概述
- 面向对象程序设计思想
- JAVA开发环境搭建
- 第一个JAVA程序
- JAVA常用开发工具
- 第2章 Java编程基础
- 变量与常量
- 运算符与表达式
- 选择结构
- 循环结构
- 方法
- 数组
- JVM中的堆内存与栈内存
- 第3章 面向对象程序设计(基础)
- 面向对象的概念
- 面向对象编程
- 构造方法
- this关键字
- static关键字
- 第4章 面向对象程序设计(进阶)
- 封装
- 继承
- super关键字
- final关键字
- object类
- 多态
- 抽象类
- 接口
- 内部类概述
- 第5章 异常
- 异常概述
- 异常处理
- 异常进阶
- 第6章 Java常用类
- 包装类
- String类概述
- StringBuffer类与StringBuilder类
- 时间和日期相关类
- 其他常用类
Java面向对象程序设计知识总结
第1章 初识Java与面向对象程序设计
JAVA概述
Java是一种强类型、面向对象的编程语言,以其跨平台兼容性、安全性和健壮性而闻名。
面向对象程序设计思想
面向对象程序设计(OOP)的核心在于数据抽象、封装、继承和多态。
JAVA开发环境搭建
安装JDK和IDE(如IntelliJ IDEA或Eclipse),配置环境变量以使用javac
和java
命令。
第一个JAVA程序
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
编译并运行上述程序,将在控制台输出"Hello, World!"。
JAVA常用开发工具
包括IDE、构建工具(如Maven和Gradle)、版本控制系统(如Git)等。
第2章 Java编程基础
变量与常量
变量用于存储数据,而常量则用于存储固定值。
int age = 25; // 变量
final int MAX_VALUE = 100; // 常量
运算符与表达式
包括算术运算符、关系运算符、逻辑运算符等。
int a = 5, b = 10;
boolean result = (a + b) > 10; // 表达式
选择结构
使用if
、else if
、else
和switch
语句进行条件选择。
int score = 85;
if (score > 90) {
System.out.println("优秀");
} else if (score > 80) {
System.out.println("良好");
} else {
System.out.println("一般");
}
循环结构
使用for
、while
和do-while
循环执行重复操作。
for (int i = 0; i < 5; i++) {
System.out.println("迭代 " + i);
}
方法
定义方法以复用代码和执行特定任务。
public void printNumbers() {
for (int i = 0; i < 10; i++) {
System.out.println(i);
}
}
数组
用于存储固定大小的同类型元素集合。
int[] numbers = {1, 2, 3, 4, 5};
for (int number : numbers) {
System.out.println(number);
}
JVM中的堆内存与栈内存
- 堆内存用于存储对象实例。
- 栈内存用于存储局部变量和方法调用。
第3章 面向对象程序设计(基础)
面向对象的概念
理解类和对象,以及它们在Java中如何表示。
面向对象编程
使用类和对象进行编程。
public class Person {
String name;
int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
}
构造方法
用于初始化新对象的特殊方法。
public class Person {
private String name;
public Person(String name) {
this.name = name;
}
}
this关键字
引用当前对象的成员变量或方法。
public class Person {
private String name;
public Person(String name) {
this.name = name;
System.out.println("构造方法中的this.name: " + this.name);
}
}
static关键字
用于定义类级别的静态成员。
public class MathUtil {
public static int add(int a, int b) {
return a + b;
}
}
第4章 面向对象程序设计(进阶)
封装
隐藏对象的内部状态和行为,只暴露必要的接口。
public class Person {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
继承
允许一个类(子类)继承另一个类(父类)的属性和方法。
public class Animal {
public void eat() {
System.out.println("Eating");
}
}
public class Dog extends Animal {
// 继承了Animal的eat方法
}
super关键字
引用父类的属性和方法。
public class Animal {
public void eat() {
System.out.println("Eating");
}
}
public class Dog extends Animal {
@Override
public void eat() {
super.eat(); // 调用父类的eat方法
System.out.println("Dog eating");
}
}
final关键字
用于修饰不可改变的类、方法或变量。
public final class UtilityClass {
// 类不能被继承
}
object类
Java中所有类的根类,提供了一些通用方法,如equals()
、hashCode()
等。
多态
允许不同类的对象对同一消息做出响应。
public class Animal {
public void makeSound() {
System.out.println("Animal sound");
}
}
public class Dog extends Animal {
@Override
public void makeSound() {
System.out.println("Woof");
}
}
public class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("Meow");
}
}
public class PolymorphismTest {
public static void main(String[] args) {
Animal myDog = new Dog();
Animal myCat = new Cat();
myDog.makeSound(); // 输出: Woof
myCat.makeSound(); // 输出: Meow
}
}
抽象类
不能被实例化的类,可以包含抽象方法,必须被继承。
public abstract class Animal {
public abstract void makeSound();
}
接口
定义方法规范,可以被实现(implement)。
public interface Movable {
void move();
}
public class Car implements Movable {
@Override
public void move() {
System.out.println("Car is moving");
}
}
内部类概述
类中定义的类,可以访问外部类的成员。
public class OuterClass {
private String outerField = "outer";
public class InnerClass {
public void display() {
System.out.println("Outer class field: " + outerField);
}
}
}
第5章 异常
异常概述
异常是程序执行过程中的异常情况。
异常处理
使用try-catch
语句捕获和处理异常。
try {
int result = 10 / 0;
} catch (ArithmeticException e) {
System.out.println("Cannot divide by zero");
}
异常进阶
自定义异常和异常传播。
public class MyException extends Exception {
public MyException(String message) {
super(message);
}
}
public void myMethod() throws MyException {
throw new MyException("Something went wrong");
}
第6章 Java常用类
包装类
基本数据类型对应的包装类,如Integer
、Double
等。
Integer integer = new Integer(10);
Double doubleObj = new Double(20.5);
String类概述
不可变的字符序列。
String greeting = "Hello, World!";
StringBuffer类与StringBuilder类
可变的字符序列,StringBuffer
是线程安全的,而StringBuilder
不是。
StringBuffer stringBuffer = new StringBuffer("Hello");
StringBuilder stringBuilder = new StringBuilder("Hello");
stringBuffer.append(" World");
stringBuilder.append(" World");
时间和日期相关类
如java.util.Date
和java.time
包下的类。
import java.time.LocalDateTime;
LocalDateTime now = LocalDateTime.now();
System.out.println("Current date and time: " + now);
其他常用类
如Math
、System
、Scanner
等。
import java.util.Scanner;
Scanner scanner = new Scanner(System.in);
System.out.println("Enter a number: ");
int number = scanner.nextInt();