面向初学者的 Java 类和对象教程
原文: https://javabeginnerstutorial.com/core-java-tutorial/java-class-object-tutorial/
类是用于创建定义其状态和行为的对象的模板。 一个类包含用于定义其对象的状态和行为的字段和方法。
声明类的语法:
<Access Modifier> class <Class_Name> extends<Super_Class_Name> implements <Interface_Name>
访问修饰符:定义 Java 世界中谁可以访问该类以及该类的成员。
CLASS_NAME:特定包中类的唯一名称。
SUPER_CLASS_NAME:给定类扩展的类的名称。 (为此使用 extends关键字)
INTERFACE_NAME:以上类实现的接口的名称。 (implements关键字用于此目的)
类的内部结构
<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 类的示例
/** 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 variablestatic {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将在内存中保存所创建对象的引用)。
示例
package com.jbt;public class HelloWorld {int i; // Class Variable(State)void method() {System.out.println("Inside Method");}// Method (Behavior)}
对象创建
HelloWorld obj = new HelloWorld();
如何访问类成员
(ClassObjectReference.member)。 您将通过命名对象,后跟句点(.),后跟方法的名称及其参数列表来调用对象的方法。
objectName.methodName(arg1, arg2, arg3).
项目要点
- 一个类只能具有公开和默认访问权限。
- 公开类必须使用相同名称的 Java 文件。
- 一个 Java 文件可以包含多个非公开类,但只能具有一个公开类。
- 所有包中的所有类都可以看到公开类
- 具有默认访问权限的类只能由同一包中的类看到。
- 没有公开类的 Java 文件没有命名限制。
- 该类还可以具有
final,abstract和strictfp非访问修饰符。 - 不能实例化抽象类。
- 最终类不能被子类化。
- 类不能是最终的和抽象的。
- 类可见性可以在 3 个参数中看到
- 如果一个类可以扩展另一个类?
- 一个类是否可以创建另一个类的实例?
- 一个类是否可以访问另一个类的方法和变量?