Java初学者之———类与方法

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. 深入理解thisstatic

  • 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. 初学者避坑指南(重点)

  1. 文件名与类名必须一致:如果类是public修饰的,Java文件名必须与类名完全一致。
  2. main方法写法固定public static void main(String[] args)是JVM入口,一字不差才能运行。
  3. 不要忘记new关键字:只有用new创建对象后,对象才会在堆内存中分配空间。
  4. 形参与实参:定义方法时的是形参(占位符),调用方法时传递的是实参(实际数据)。
  5. void不能少:如果方法没有返回值,千万不要写return 值,且返回值位置必须写void

学习建议:不要死记硬背,打开IDE(如IDEA或Eclipse),亲手敲三遍上面的学生类代码。把代码敲出Bug,然后修复Bug,这才是最有效的学习方式。加油!