3.2Java的类(Classes)、成员(Members)、构造器(Constructor)、对象(Object)、枚举(Enum)

1.类声明(Class Declarations)

类是引用数据类型。类有两种类声明:普通类声明(normal class)和枚举(enum)声明。

{ClassModifier} class TypeIdentifier
{ClassModifier} enum TypeIdentifier

Java 类名的命名规则如下:

  1. 类名应该以下划线(_)或字母开头,最好以字母开头。
  2. 第一个字母最好大写,如果类名由多个单词组成,则每个单词的首字母最好都大写。
  3. 类名不能为 Java 中的关键字,例如 boolean、this、int 等。
  4. 类名不能包含任何嵌入的空格或点号以及除了下划线(_)和美元符号($)字符之外的特殊字符。

2.类修饰符(Class Modifiers)

public protected private
abstract static final strictfp
  • public:访问修饰符public仅适用于顶层类(top level classes)和成员类(member classes),而不是本地类(local classes)或匿名类(anonymous classes)。访问修饰符protectedprivate仅与直接封闭的类声明中的成员类有关。
  • abstract:如果类被 abstract 修饰,则该类为抽象类,抽象类不能被实例化,但抽象类中可以有抽象方法(使用 abstract 修饰的方法)和具体方法(没有使用 abstract 修饰的方法)。继承该抽象类的所有子类都必须实现该抽象类中的所有抽象方法(除非子类也是抽象类)。
  • static:修饰符static仅适用于成员类,不适用于顶级或本地或匿名类。
  • final:如果类被 final 修饰,则不允许被继承。
  • strictfp:使所有floatdouble 表达式类的声明(包括变量初始化,初始化实例,静态初始化和构造函数内)都严格遵守FP-strict的限制。

3.成员字段修饰符(Field Modifiers)

public protected private
static final transient volatile
  • public、protected、private:用于表示成员变量的访问权限。
  • static:表示该成员变量为类变量,也称为静态变量。
  • final:表示将该成员变量声明为常量,其值无法更改。
  • transient:指示变量不是对象持久状态的一部分。
  •  volatile:Java内存模型可确保所有线程看到该变量的一致值。

可以在声明成员变量的同时对其进行初始化,如果声明成员变量时没有对其初始化,则系统会使用默认值初始化成员变量。

4.成员方法修饰符(Method Modifiers)

public protected private
abstract static final synchronized native strictfp
  • public、private、protected:表示成员方法的访问权限。
  • abstract:表示限定该成员方法为抽象方法。抽象方法不提供具体的实现,并且所属类型必须为抽象类。
  • static:表示限定该成员方法为静态方法。
  • final:表示限定该成员方法不能被重写或重载。
  • synchronized:在执行之前需要先获取一个监视器。
  • native:方法可以用平台相关的另外一种编程语言编写。
  • strictfp:使所有方法体中的floatdouble 表达式都严格遵守FP-strict的限制。

5.构造器修饰符(Constructor Modifiers)

public protected private

public、private、protected:表示构造器的访问权限。

6.对象(Object)

类名 对象名 = new 类名(); //创建对象
对象名.属性(又名:成员变量)    // 访问对象的属性
对象名.行为(又名:成员方法)()    // 访问对象的方法

在 Java 中,要引用对象的属性和行为,需要使用点(.)操作符来访问。对象名在圆点左边,而成员变量或成员方法的名称在圆点的右边。

7.枚举(Enum)

枚举(Enum)定义了一种Enum类型,Enum是一中特殊的 类型。

public, protected, private修饰符用于枚举类型的访问权限。

枚举不可以使用abstract和final关键字修饰,否则编辑器会报错,枚举是隐性地final。

enum Size { SMALL, MEDIUM, LARGE, EXTRA_LARGE };
Size m = Size.MEDIUM

枚举实际是常量,所以枚举名称应该全部大写。

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/java/javabasic/2484.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注