java中的类是什么:模板,封装载体
java中的类是什么,它是Java面向对象编程里用来抽象一类事物的模板,你可以在类里定义属性(成员变量)和行为(成员方法),通过new关键字基于类创建对象,类只规定结构,对象才是内存里真实存在的数据实例,适合业务实体、工具封装、数据模型场景,不适合只写一行简单计算、无复用需求的零散代码,JDK17及之后的版本对内部类、密封类有额外语法约束。
类的基础组成
一个标准Java类包含类名、成员变量、成员方法、构造方法四个部分,类名遵循大驼峰命名规范,和文件名保持一致,构造方法名字和类名完全相同,没有返回值,new对象的时候会自动调用构造方法给成员变量赋初始值。成员变量用来存放这类事物的特征,成员方法用来定义这类事物能执行的动作,访问修饰符可以控制内部内容对外可见范围,常用public、private、protected三种。
private修饰的成员只能在当前类内部访问,外部代码想要读写,需要配套写getter和setter方法,这也是Java封装特性最常用的实现方式,把内部数据保护起来,对外只提供可控的访问入口,降低外部代码直接修改内部状态带来的异常。
类和对象的区别
类是图纸,对象是按照图纸造出来的实体。
同一份类可以new出多个独立对象,每个对象拥有自己的成员变量副本,修改一个对象的属性,不会影响其他对象的数据,静态成员static不属于单独对象,直接归属类本身,所有对象共享同一份静态变量,静态方法只能访问静态成员,不能直接调用非静态成员。
| 对比项 | 类 | 对象 |
|---|---|---|
| 内存位置 | 方法区 | 堆内存 |
| 创建方式 | 编写代码定义 | new类名() |
| 生命周期 | 加载后持续存在 | GC回收后销毁 |
类的常见分类
Java里除普通实体类,还有抽象类、接口、内部类、密封类,抽象类用abstract修饰,不能直接new对象,里面可以有抽象方法,抽象方法只有声明没有实现,子类继承抽象类之后必须重写全部抽象方法。接口在JDK8之前只能定义抽象方法,JDK8新增默认方法和静态方法,接口优先用来定义规范,抽象类适合提取子类共用的属性和逻辑。
内部类写在另一个类里面,分为成员内部类、静态内部类、局部内部类、匿名内部类,匿名内部类没有类名,一般用来一次性重写接口或者抽象类的方法,回调场景使用较多。
你写类的时候,优先拆分单一职责,一个类只负责一类功能,不要把不相关的业务逻辑塞进同一个类里,这样后续维护、单元测试都会更轻松。
主类里main方法是程序入口,main属于静态方法,程序启动时不需要创建对象就能直接运行。
