📜  Java程序的结构和成员

📅  最后修改于: 2022-05-13 01:55:04.667000             🧑  作者: Mango

Java程序的结构和成员

当我们用任何语言编写任何程序时,我们需要遵循语言专家推荐的标准结构来编写程序。一个Java程序可能包含许多类,其中只有一个类有一个 main 方法。类将包含数据成员和对类的数据成员进行操作的方法。要编写Java程序,我们首先需要定义类,然后将它们组合在一起。通常,一个标准的Java程序由以下块组成,如下图所示。

解释:
1.包是类、接口和子包的集合。在Java程序中,如果我们使用任何预定义的类和接口,那么Java程序员有责任导入包含这些特定类和接口的特定包。在Java中,默认情况下每个程序都会导入Java.lang.* 包。
2. 类是用于开发用户定义数据类型的关键字。每个Java程序都必须以类的原型开始。该类已被声明为 public,这意味着所有类都可以从所有包中访问该类。但是,通常我们会在Java中声明类而不指定修饰符。
3. 类名是赋予该类的名称。每个类名都被视为一种用户定义的数据类型。
4. 数据成员代表实例成员或静态成员。
5. 构造函数在类的对象被创建时被调用。它是初始化新创建对象的代码块。构造函数的名称与类名的名称相同。构造函数没有返回类型。创建对象的新实例时会自动调用构造函数。在下面的代码中,构造函数 bird() 打印一条消息。

当我们如上图创建bird类的对象时:
鸟 b = 新鸟();
这里的new关键字创建了bird类的对象,并调用构造函数来初始化这个新创建的对象。
构造函数和方法是不同的,因为构造函数用于初始化类的对象,而方法用于通过实现Java代码来执行任务。构造函数不能声明为抽象、最终、静态和同步,而可以声明方法。构造函数没有返回类型,而方法有。
6. 用户定义的方法代表实例(或)静态,它们的选择取决于类名,这些方法用于一次(或)重复执行操作。一个类的所有用户定义方法都包含特定问题的逻辑。这些方法称为业务逻辑方法。
7. 所有Java程序都是从main()方法开始执行的,所以main()方法被称为程序的主干。 Java虚拟机通过首先执行 main() 方法开始运行任何Java程序。
8. Java 的 main() 方法没有返回任何值,所以它的返回类型必须是 void。
9. main() 方法在Java程序的整个生命周期和对象创建之前只执行一次,因此它的性质必须是静态的。
10. main()方法在所有Java程序中都被访问,它的访问说明符必须是public(通用的)。
11. Java的每个 main() 方法都必须以 String 类的对象数组作为参数。
12. 语句块是为调用类的用户定义方法而编写的一组可执行语句。
13. 如果我们有多个Java文件,那么Java中类文件的命名约定是,无论哪个类包含 main() 方法,该类名将作为带有扩展名(点)的文件名给出。Java
数据成员的类型:
Java类是数据成员和函数的集合。任何Java程序都可能包含两种类型的数据成员。他们是;
1.实例或非静态数据成员
2.静态或类数据成员
下表描述了两者之间的区别。

方法类型:
在Java程序中,除了构造函数之外,我们通常可以定义两种类型的方法。他们是;
1. 实例或非静态方法
2.静态或类方法
下表描述了两者之间的区别。

以下示例名为 TestGVP。 Java演示了Java类的不同成员的使用。

Java
// Java code to show structures and
// members of Java Program
public class classMember
{
     
// Static member
static int staticNum = 0;
 
// Instance member
int instanceNum;
 
/* below constructor increments the static
number and initialize instance number */
public classMember(int i) //Constructor method
{
    instanceNum = i;
    staticNum++;
}
 
/* The show method display the value in the staticNum and instanceNum */
public void show() //instance method
{
    System.out.println("Value of Static Number is:" + staticNum +
                        "\nValue of Instance number is:"+ instanceNum);
}
 
// To find cube
public static int cube() //Static method
{
    return staticNum * staticNum * staticNum;
}
 
// Driver code
public static void main(String args[])
{
    classMember gvp1 = new classMember(2);
    System.out.println("Value after gvp1 object creation: ");
    gvp1.show();
 
    classMember gvp2 = new classMember(4);
    System.out.println("Value after gvp2 object creation: ");
    gvp2.show();
     
    // static method can be accessed by class name
    int cub=classMember.cube();
    System.out.println("Cube of the Static number is: "+ cub);
}
}


输出 :