面向初学者的 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 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
将在内存中保存所创建对象的引用)。
示例
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 个参数中看到
- 如果一个类可以扩展另一个类?
- 一个类是否可以创建另一个类的实例?
- 一个类是否可以访问另一个类的方法和变量?