💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# 面向初学者的 Java 类和对象教程 > 原文: [https://javabeginnerstutorial.com/core-java-tutorial/java-class-object-tutorial/](https://javabeginnerstutorial.com/core-java-tutorial/java-class-object-tutorial/) 类是用于创建定义其状态和行为的对象的模板。 一个类包含用于定义其对象的状态和行为的字段和方法。 ## 声明类的语法: ```java <Access Modifier> class <Class_Name> extends <Super_Class_Name> implements <Interface_Name> ``` [访问修饰符](https://javabeginnerstutorial.com/core-java-tutorial/access-modifier-in-java/ "Access Modifier in Java"):定义 Java 世界中谁可以访问该类以及该类的成员。 **`CLASS_NAME`**:特定包中类的唯一名称。 **`SUPER_CLASS_NAME`**:给定类扩展的类的名称。 (为此使用 `extends`关键字) **`INTERFACE_NAME`**:以上类实现的接口的名称。 (`implements`关键字用于此目的) ## 类的内部结构 ```java <Access_Modifier> class <Class_Name> extends <Super_Class_Name> implements <Interface_Name>{ <static initilizar block> <ananymous_block> <constructor_declarations> <field_declarations (Static or Non-Static)> <method_declarations (Static or Non-Static)> <Inner_class_declarations> <nested_interface_declarations> variables_inside_class(Static or Non Static) } ``` ## Java 类的示例 ```java /* * This is Multi Line Comment and Comment can appear at any place */ package com.jbt; import java.lang.*; /* * As this file contains public class. Then the name of this file should be TestClass.java */ public class TestClass { public int i; // This is Non Static variable static { System.out.println("This is static block"); } { System.out.println("This is ananuymous block"); } TestClass() { System.out.println("This is constructor"); } void methid() { System.out.println("This is method"); } } class AnotherClass { } ``` 将类写入 Java 源文件中。 一个源文件可以包含多个 Java 类。 有一些与 Java 源文件相关的规则,如下所示。 ## 适用于源文件的规则 * 每个源代码文件只能有一个公开类,但可以有多个非公开类。 * 如果源代码文件中存在任何公开类,则文件名应为该类的名称。 * 源代码文件中的语句序列应为包 >> `import` >> 类声明。 * 没有序列规则适用于注释。 * 注释可以在源代码文件的任何部分的任何位置。 * 没有公开类的文件可以具有该类的任何名称。 * 导入和打包语句应应用于同一源代码文件中的所有类。 ## 对象 关于类和对象之间的区别通常会感到困惑。 类是原型的创建,而对象是该原型的实际实现。 从技术上讲,类是描述该类实例可以具有的状态和行为的模板。 对象以变量和方法的形式实现状态和行为,并需要分配一些内存。 ## 如何创建类的对象 要创建类的对象,可以使用`new`关键字。 句法: > `<Class_Name> ClassObjectReference = new <Class_Name>();` 在这里,将执行类(`Class_Name`)的构造器并创建一个对象(`ClassObjectReference`将在内存中保存所创建对象的引用)。 ### 示例 ```java package com.jbt; public class HelloWorld { int i; // Class Variable(State) void method() { System.out.println("Inside Method"); }// Method (Behavior) } ``` 对象创建 ```java HelloWorld obj = new HelloWorld(); ``` ## 如何访问类成员 (`ClassObjectReference.member`)。 您将通过命名对象,后跟句点(`.`),后跟方法的名称及其参数列表来调用对象的方法。 ```java objectName.methodName(arg1, arg2, arg3). ``` ### 项目要点 * 一个类只能具有公开和默认访问权限。 * 公开类必须使用相同名称的 Java 文件。 * 一个 Java 文件可以包含多个非公开类,但只能具有一个公开类。 * 所有包中的所有类都可以看到公开类 * 具有默认访问权限的类只能由同一包中的类看到。 * 没有公开类的 Java 文件没有命名限制。 * 该类还可以具有`final`,`abstract`和`strictfp`非访问修饰符。 * 不能实例化抽象类。 * 最终类不能被子类化。 * 类不能是最终的和抽象的。 * 类可见性可以在 3 个参数中看到 1. 如果一个类可以扩展另一个类? 2. 一个类是否可以创建另一个类的实例? 3. 一个类是否可以访问另一个类的方法和变量? <https://www.youtube.com/embed/VW72ezYj3d4?feature=oembed>