Java类基础

类是什么?

类在面向对象的编程范式的基本单位。它们用作模板来创建对象。
Java中的类可以包含五个组件:

  • 字段(域)
  • 方法
  • 构造器(也叫构造函数)
  • 静态初始化器
  • 实例初始化程序

字段和方法也称为类的成员。类和接口也可以是一个类的成员。类可以有零个或多个类成员。
构造函数用于创建类的对象。所以必须至少有一个类的构造函数。

初始化器用于初始化类的字段。在一个类中可以有零个或多个静态或实例类型的初始化器。

声明一个类

在Java中声明类的一般语法如下 -

<modifiers> class <class name> {
    // Body of the class
}

是对类声明有特殊含义的关键字。类声明可以有零个或多个修饰符(modifiers)。

关键字 class 用于声明一个类。

<class name>是用户定义的类名称,它应该是有效的标识符组成。
每个类都有一个主体(body),它在一对大括号({})中指定。类的主体包含其不同的组件,例如字段,方法等。

下面的代码定义了一个名为Dog的类,它具有一个空主体。Dog类不使用任何修饰符。如下代码所示 -

class Dog  {
// 主体是空的,什么也没有定义
}

类中的字段

类的字段表示类的属性。

Dog类的每个对象都有两个属性:名称(name)和性别(gender)。Dog类应包括两个字段的声明:一个表示名称,一个表示性别。

这些字段在类的主体中声明。 在类中声明一个字段的一般语法是 -

<modifiers> class  className {
   <modifiers> <data type> <field name> = initialvalue;
   <modifiers> <data type> fieldName;
}
<modifiers> class  className {
   <modifiers> <data type> <field name> = initialvalue;
   <modifiers> <data type> fieldName;
}

字段声明可以使用零个或多个修饰符。字段的数据类型位于其名称之前。 或者还可以使用值来初始化每个字段的值。

以下代码显示如何向Dog类添加字段:

class Dog  {
    String  name; 
    String gender;
}

在java中,一般是用大写字母开始一个类的名称(比较规范,推荐的用法),并大写后续的单词,例如:TableFirstTimeOrderDetail等等。而使用 tablefirstTimeorder_detail 等这样的形式来命名类不是一个规范的作法。

字段和方法的名称应以小写字母开头,后面的单词的第一个字母应该大写,例如:namefirstNameorderList等等。

Dog类声明两个字段:namegender。两个字段都是可存储字符串的String类型。
Dog类的每个实例都有这两个字段的副本。

Java中一个类有两种类型的字段:

  • 类字段
  • 实例字段

有时属性属于类本身,不属于该类的任何特定实例。
所有狗的数量应属于狗类本身。狗的数量不存在于狗类的任何特定实例。

只有一个类属性的副本存在,而不考虑实例数。类字段也称为类变量。实例字段也称为实例变量。

namegenderDog类的两个实例变量。而类的变量必须使用static关键字作为修饰符声明。

以下代码带中,Dog类的声明有一个类变量 - count。如下所示 -

class Dog  {
    String name;           // An  instance variable
    String gender;         // An  instance variable
    static long  count;    // A  class  variable  because of  the   static  modifier
}

类变量称为静态变量。 实例变量被称为非静态变量。

使用示例

在这个示例中,定义一个 Dog 类,并实例化三个 Dog 类的实例,每次实例化类的实例时,自动将类变量count的值加1,用来统计当前有多少 Dog 类被实例化。

class Dog  {
    String name;           // An  instance variable
    String gender;         // An  instance variable
    static long  count;    // A  class  variable  because of  the   static  modifier

    Dog(String name, String gender){
        this.name = name;
        this.gender = gender;
        // 每实例化一个对象, 类变量 count 的值加  1 。 
        count = count + 1;
    }
}

class Main {
   public static void main(String[] args) {

       Dog dog1 = new Dog("旺财", "公");
       Dog dog2 = new Dog("阿贵", "公");
       Dog dog3 = new Dog("悠悠", "母");
       // 以下都是访问类变量的方法
       System.out.println("dog1.count=>"+dog1.count);
       System.out.println("dog2.count=>"+dog2.count);
       System.out.println("dog3.count=>"+dog3.count);
       System.out.println("Dog::count=>"+Dog.count);
   }
}

执行上面代码,得到如下结果 -

dog1.count=>3
dog2.count=>3
dog3.count=>3
Dog::count=>3

上一篇:没有了

下一篇:Java类实例化

关注微信小程序
程序员编程王-随时随地学编程

扫描二维码
程序员编程王

扫一扫关注最新编程教程