Java初学者之———类与方法
欢迎来到Java的世界!作为初学者,理解“类”与“方法”是迈进面向对象编程(OOP)大门的第一步。
Java核心技术笔记:类(Class)与方法(Method)
1. 初识面向对象(OOP)
在Java中,一切皆对象。我们可以把类想象成汽车的设计图纸,而对象就是根据这张图纸制造出来的真实汽车。
- 类(Class):是抽象的、具有相同属性和行为的对象的集合(如:人类、汽车类)。
- 对象(Object):是类的具体实例(如:你、我、门口那辆红色的特斯拉)。
- 方法(Method):是对象能够执行的行为或功能(如:汽车可以“行驶”,人可以“吃饭”)。
2. 类的五大组成要素(骨架)
一个标准的Java类通常由以下五部分组成(按书写顺序):
| 组成部分 | 作用 | 是否必须有 |
|---|---|---|
| 包名(Package) | 用于分类管理类,类似于文件的文件夹。 | ❌ 非必须 |
| 导入语句(Import) | 引入其他包中的类。 | ❌ 非必须 |
| 访问修饰符 | 控制访问权限(公开/私有等)。 | ✅ 必须 |
| 类名/接口名 | 类的唯一标识,遵循大驼峰命名法(如Student)。 | ✅ 必须 |
类体{ } | 花括号里存放属性和方法。 | ✅ 必须 |
3. 类的定义与属性(字段)
语法格式:
[访问修饰符]class类名{// 1. 属性(成员变量)—— 描述状态// 2. 构造方法 —— 用于创建对象// 3. 普通方法 —— 描述行为}实战案例:学生类
packagecom.example.model;// 包名publicclassStudent{// public 公开类// ---------- 属性(成员变量) ----------// 姓名(私有化保护数据)privateStringname;// 年龄privateintage;// 学号(静态常量,属于类所有)publicstaticfinalStringSCHOOL="第一中学";// ---------- 构造方法(无参构造) ----------publicStudent(){System.out.println("调用了无参构造方法");}// ---------- 构造方法(有参构造) ----------publicStudent(Stringname,intage){this.name=name;// this关键字区分成员变量和局部变量this.age=age;}// ---------- 普通方法(行为) ----------publicvoidstudy(){System.out.println(name+" 正在努力学习Java!");}}4. 方法(Method)详解
方法就是解决一类问题的步骤的有序组合。方法必须定义在类中,不能独立存在。
4.1 方法的完整结构(四要素)
[访问修饰符][其他修饰符]返回值类型 方法名(参数列表)[抛出异常]{// 方法体(具体的业务逻辑)return返回值;// 如果返回值类型是void,此处可省略}4.2 方法分类(按有无static区分)
这是初学者最容易迷糊的地方,请重点看:
| 类型 | 关键字 | 调用方式 | 适用场景 |
|---|---|---|---|
| 实例方法 | 无static | 必须先创建对象,通过对象.方法()调用。 | 需要操作对象的成员变量(如:学生的吃饭、睡觉)。 |
| 静态方法 | 有static | 直接用类名调用,如Math.sqrt(9)。 | 工具类方法,不依赖对象数据(如:计算工具)。 |
4.3 方法重载(Overload)
在同一个类中,允许存在多个方法名相同但参数列表不同(个数或类型不同)的方法。
// 重载示例:加法方法publicintadd(inta,intb){returna+b;}publicdoubleadd(doublea,doubleb){returna+b;}publicintadd(inta,intb,intc){returna+b+c;}注意:方法重载与返回值类型无关!
5. 深入理解this与static
this关键字:代表当前对象本身。常用于区分成员变量(类的属性)和局部变量(方法里的参数)。static关键字:- 修饰属性时,该属性属于类(所有对象共享一份)。
- 修饰方法时,静态方法只能访问静态成员,不能直接访问非静态成员(因为对象可能还没创建)。
6. 综合实战演练(编写学生管理系统雏形)
将以上知识点整合,写一个可运行的测试类。
// 1. 定义学生类(省略上述代码,保留核心)classStudent{privateStringname;privateintscore;publicStudent(Stringname,intscore){this.name=name;this.score=score;}// 实例方法:判断是否及格publicbooleanisPass(){returnscore>=60;}// 静态方法:打印考试规则(不依赖对象)publicstaticvoidprintRule(){System.out.println("考试规则:严禁作弊!");}}// 2. 测试类(包含main方法,这是程序的入口)publicclassTest{publicstaticvoidmain(String[]args){// 调用静态方法(类名直接调)Student.printRule();// 创建对象(实例化)StudentxiaoMing=newStudent("小明",85);// 调用实例方法(对象名调)booleanresult=xiaoMing.isPass();System.out.println("小明是否及格:"+result);}}7. 初学者避坑指南(重点)
- 文件名与类名必须一致:如果类是
public修饰的,Java文件名必须与类名完全一致。 main方法写法固定:public static void main(String[] args)是JVM入口,一字不差才能运行。- 不要忘记
new关键字:只有用new创建对象后,对象才会在堆内存中分配空间。 - 形参与实参:定义方法时的是形参(占位符),调用方法时传递的是实参(实际数据)。
void不能少:如果方法没有返回值,千万不要写return 值,且返回值位置必须写void。
学习建议:不要死记硬背,打开IDE(如IDEA或Eclipse),亲手敲三遍上面的学生类代码。把代码敲出Bug,然后修复Bug,这才是最有效的学习方式。加油!
