- Java类
- Java包
- Java方法
- Java访问
- Java创建
- Java对象(Object)
- Java内部类
- Java继承
- Java抽象类
- Java泛型类
- Java异常
- Java接口
- Java枚举
- Java注解
Java类基础
类是什么?
类在面向对象的编程范式的基本单位。它们用作模板来创建对象。
Java中的类可以包含五个组件:
- 字段(域)
- 方法
- 构造器(也叫构造函数)
- 静态初始化器
- 实例初始化程序
字段和方法也称为类的成员。类和接口也可以是一个类的成员。类可以有零个或多个类成员。
构造函数用于创建类的对象。所以必须至少有一个类的构造函数。
初始化器用于初始化类的字段。在一个类中可以有零个或多个静态或实例类型的初始化器。
声明一个类
在Java中声明类的一般语法如下 -
<modifiers> class <class name> { // Body of the class }
关键字 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中,一般是用大写字母开始一个类的名称(比较规范,推荐的用法),并大写后续的单词,例如:Table
,FirstTime
,OrderDetail
等等。而使用 table
,firstTime
,order_detail
等这样的形式来命名类不是一个规范的作法。
字段和方法的名称应以小写字母开头,后面的单词的第一个字母应该大写,例如:name
,firstName
,orderList
等等。
Dog
类声明两个字段:name
和 gender
。两个字段都是可存储字符串的String
类型。Dog
类的每个实例都有这两个字段的副本。
Java中一个类有两种类型的字段:
- 类字段
- 实例字段
有时属性属于类本身,不属于该类的任何特定实例。
所有狗的数量应属于狗类本身。狗的数量不存在于狗类的任何特定实例。
只有一个类属性的副本存在,而不考虑实例数。类字段也称为类变量。实例字段也称为实例变量。
name
和 gender
是Dog
类的两个实例变量。而类的变量必须使用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类实例化
- Java教程
- Vim教程
- Swing教程
- Spring教程
- Spring Web Services教程
- Spring MVC教程
- Spring JDBC教程
- Spring Cloud教程
- Spring Boot教程
- Spring Boot CLI教程
- Spring Batch教程
- Spring AOP教程
- PDFBox教程
- JSP教程
- JSF教程
- JPA教程
- Java面向对象设计
- Java设计模式
- Java虚拟机教程
- Java泛型教程
- Java正则表达式教程
- Java数据类型教程
- Java并发编程教程
- Java密码学教程
- Java多线程教程
- Java国际化(i18n)教程
- JavaFX教程
- Java9教程
扫描二维码
程序员编程王