Java面向对象编程基础学习笔记
一、面向对象编程三大主线
第1主线:Java类与类成员
1. 类的基本结构
[修饰符] class 类名 {
// 1.成员变量(属性)
数据类型 属性名称;
// 2.成员方法(行为)
[修饰符] 返回类型 方法名(参数列表){...}
// 3.构造器(初始化对象)
[修饰符] 类名(参数列表){...}
// 4.代码块(初始化块)
static{...} // 静态代码块
{...} // 实例代码块
// 5.内部类(嵌套类)
class 内部类名{...}
}
2. 典型类示例
public class Phone {
// ▶ 属性定义
String brand; // 品牌
double price; // 价格
// ▶ 构造器(对象初始化)
public Phone() {} // 无参构造器
public Phone(String brand, double price) {
this.brand = brand;
this.price = price;
}
// ▶ 成员方法
public void call() {
System.out.println("拨打电话");
}
// ▶ 静态代码块
static {
System.out.println("加载Phone类...");
}
// ▶ 内部类
class Battery {
int capacity;
}
}
第2主线:面向对象核心特征
1. 四大特征体系
| 特征 |
核心思想 |
实现方式 |
| 封装 |
隐藏实现细节,暴露安全接口 |
private属性 + public方法 |
| 继承 |
代码复用与扩展机制 |
extends关键字 |
| 多态 |
同一操作作用于不同对象的不同表现 |
方法重写 + 向上转型 |
| 抽象 |
定义规范而不关注具体实现 |
抽象类/接口 |
2. 特征应用示例
// ▶ 封装示例
public class BankAccount {
private double balance; // 私有属性
public void deposit(double amount) { // 公开方法
if(amount > 0) balance += amount;
}
}
// ▶ 继承示例
class SmartPhone extends Phone {
void facialUnlock() {
System.out.println("人脸解锁功能");
}
}
// ▶ 多态示例
public class Test {
public static void main(String[] args) {
Phone p = new SmartPhone(); // 向上转型
p.call(); // 调用子类重写的方法
}
}
// ▶ 抽象示例
abstract class Shape {
abstract void draw(); // 抽象方法
}
第3主线:关键字的深度运用
1. 关键功能型关键字
| 关键字 |
核心作用 |
典型场景 |
this |
指向当前对象实例 |
区分成员变量与局部变量 |
super |
调用父类成员 |
访问被覆盖的父类方法 |
static |
声明类级别成员 |
工具类方法/静态常量 |
final |
定义不可变元素 |
常量/禁止继承/禁止方法重写 |
interface |
定义行为规范 |
多继承场景下的接口实现 |
abstract |
声明抽象结构 |
定义模板方法/规范子类行为 |
2. 组织型关键字
| 关键字 |
功能说明 |
package |
声明类所属包(解决命名冲突) |
import |
导入其他包的类/静态成员 |
3. 关键字应用示例
// ▶ this使用
public class Student {
private String name;
public void setName(String name) {
this.name = name; // 区分成员变量与形参
}
}
// ▶ static使用
class MathUtils {
public static final double PI = 3.1415;
public static int add(int a, int b) {
return a + b;
}
}
// ▶ interface使用
interface USB {
void transferData();
}
class Mouse implements USB {
@Override
public void transferData() {
System.out.println("传输鼠标坐标数据");
}
}
一、面向对象编程概述
面向对象编程(OOP)是一种以对象为核心的编程范式,其他常见范式包括:
- 面向过程编程(以过程为核心)
- 指令式编程(强调执行顺序)
- 函数式编程(以函数为基本单元)
二、类与对象的核心概念
1. 基本定义
- 类:具有相同特征事物的抽象描述(模板)
- 对象:类的具体实例,实际存在的个体(实例)
2. 关系说明
- 类 = 抽象概念(如"手机")
- 对象 = 具体实体(如"华为Mate60手机")
三、类的成员组成
| 成员类型 |
对应名称 |
说明 |
| 属性 |
成员变量 |
描述类的状态特征 |
| 行为 |
成员方法 |
描述类的功能操作 |
| 初始化 |
构造器 |
创建对象时初始化 |
| 其他 |
代码块/内部类 |
辅助类的功能实现 |
四、类定义示例(Phone类)
public class Phone {
// 属性(成员变量)
String name; // 品牌
double price; // 价格
// 方法(成员方法)
public void call() {
System.out.println("手机可以打电话");
}
public void sendMessage(String message) {
System.out.println("发送信息:" + message);
}
public void playGames() {
System.out.println("手机可以玩游戏");
}
}
五、对象实例化与使用
1. 测试类示例
public class PhoneTest {
public static void main(String[] args) {
// 1. 创建对象
Phone p1 = new Phone();
// 2. 设置属性值
p1.name = "Huawei Mate60";
p1.price = 6999;
// 3. 访问属性
System.out.println("名称: " + p1.name + ", 价格: " + p1.price);
// 4. 调用方法
p1.call();
p1.sendMessage("新品上市,欢迎选购!");
p1.playGames();
}
}
2. 运行结果
名称: Huawei Mate60, 价格: 6999.0
手机可以打电话
发送信息:新品上市,欢迎选购!
手机可以玩游戏
六、面向对象开发三步骤
- 类设计:定义类及其成员(属性/方法)
- 对象创建:通过
new关键字实例化对象
- 功能调用:使用
对象.成员形式进行操作
七、核心概念说明
1. 实例化格式
// 类名 对象名 = new 类名();
Phone phone = new Phone();
2. 面向对象三大特征
- 封装:隐藏实现细节,暴露安全接口
- 继承:代码复用和扩展机制
- 多态:同一操作作用于不同对象的不同表现
3. 重要关键字
- 访问控制:public/protected/private
- 类关系:extends/implements
- 对象引用:this/super
- 特殊修饰:static/final/abstract
- 模块管理:package/import
八、开发建议
- 类的命名使用大驼峰式(如
PhoneTest)
- 方法名使用小驼峰式(如
sendMessage)
- 保持类的单一职责原则
- 优先使用组合而非继承
- 注意区分中英文符号(特别是分号和括号)
通过实践这些基础概念,可以逐步掌握Java面向对象编程的核心思想。后续学习中可以重点关注三大特征的实现原理,以及设计模式等高级主题的应用。