Classes In Java languag The class is the fundamental programming unit of the Java programming language.(类是Java 语言的基本编程单元) Classes provide the structure for objects and the mechanisms to manufacture objects from a class definition(类提供了对象的结构,可以 根据类的定义创建对象 Each object is an instance of a class.( 对象都是某个类的实例)
Classes In Java Language • The class is the fundamental programming unit of the Java programming language. (类是Java 语言的基本编程单元) • Classes provide the structure for objects and the mechanisms to manufacture objects from a class definition.(类提供了对象的结构,可以 根据类的定义创建对象) • Each object is an instance of a class.(每一个 对象都是某个类的实例)
Declaring Classes(明类 声明类使用如下的语法: 修饰符>S类名> ∥/ class members class Body public long idNum; public String name; public Body orbits public static long nextID=0;
Declaring Classes (声明类) • 声明类使用如下的语法: class { //…class members… } • 保留字class用于声明类 • 类名用于标识类,类名的第一个字母必须是 Unicode字母或下划线“_” class Body{ public long idNum; public String name; public Body orbits; public static long nextID=0; }
Class Modifiers类的修作行) 类的修饰符主要用于描述类的可见性、可扩 展性和计算精度等属性,可用修饰符如下: publie 明为 publicl的类可以在其它任何类中 被使用,如果没有声明为 public,则类只能在类所 在的包中可使用 bstract一用于声明抽象类,抽象类不能为实例 化,抽象类通常声明了需要子类实现的抽象方法 fma一声明为fna的类不能被继承 stricti一声明为 strictfp的类中的浮点计算在所 有平台的VM中都要求严格相同 注意:一个类不能同时声明为 abstract和fna的
Class Modifiers (类的修饰符) • 类的修饰符主要用于描述类的可见性、可扩 展性和计算精度等属性,可用修饰符如下: public — 声明为public的类可以在其它任何类中 被使用,如果没有声明为public,则类只能在类所 在的包中可使用 abstract — 用于声明抽象类,抽象类不能为实例 化,抽象类通常声明了需要子类实现的抽象方法 final — 声明为final的类不能被继承 strictfp — 声明为strictfp的类中的浮点计算在所 有平台的JVM中都要求严格相同 注意:一个类不能同时声明为abstract和final的
Class members(类的成员 类的成员是指可以声明在类体中构成类的结 构的各种组成部分,类可以有成员: 域(Feds)一域是声明在类体中的各种变量,域可以分 为类的域和类的对象的域,分别表示类或对象的状态 方法 ethods)方法是一段可执行的代码,方法可以 分为类的方法和类的对象的方法分别表示类或类的对象 的行为 嵌套类 Nested classes)声明在类体中的类 嵌套接口( Nested Interfaces)声明在类体中的接囗
Class Members (类的成员) • 类的成员是指可以声明在类体中构成类的结 构的各种组成部分,类可以有成员: 域(Fields) — 域是声明在类体中的各种变量,域可以分 为类的域和类的对象的域,分别表示类或对象的状态 方法(Methods) — 方法是一段可执行的代码,方法可以 分为类的方法和类的对象的方法,分别表示类或类的对象 的行为 嵌套类(Nested Classes) — 声明在类体中的类 嵌套接口(Nested Interfaces) — 声明在类体中的接口
fields(域) 域是声明在类体中的变量( variables),声明 域的语法如下: 修饰符少 修饰符域名>; class Body public long idNum; public String name; public Body orbits; public static long nextID=0;
Fields (域) • 域是声明在类体中的变量(variables),声明 域的语法如下: ; =; class Body{ public long idNum; public String name; public Body orbits; public static long nextID=0; }
Field modifiers(域的修饰符 域的修饰符主要用于描述域的可见性、作用范围以及 其它特性,域的修饰符可以有以下几种: 访问控制修作符一包括 public, protected private 如果不指定,则域使用默认访问修饰符 st一声明为 statIc的域是类的域,否则为对象的域 的声明为ina的域只能被初始化一次 transient一声明为 transient的域不能被序列化 nil一声明为 volatile的域被多个线程访问时永远 提供域的最新值 注意:一个域不能同时声明为 volatile和fna的
Field Modifiers (域的修饰符) • 域的修饰符主要用于描述域的可见性、作用范围以及 其它特性,域的修饰符可以有以下几种: 访问控制修饰符 — 包括public、protected、private, 如果不指定,则域使用默认访问修饰符 static — 声明为static的域是类的域,否则为对象的域 final — 声明为final的域只能被初始化一次 transient — 声明为transient的域不能被序列化 volatile — 声明为volatile的域被多个线程访问时永远 提供域的最新值 注意:一个域不能同时声明为volatile和final的
Field Types(域的类型 。域可以被声明为基本数据类型和类类型 基本数据类型包括: 布尔类型 boolean 字符类型char 整数类型 byte short int long 子点类型 float double 类类型包括各种类、抽象类和接口
Field Types (域的类型) • 域可以被声明为基本数据类型和类类型 • 基本数据类型包括: 布尔类型 boolean 字符类型 char 整数类型 byte short int long 浮点类型 float double • 类类型包括各种类、抽象类和接口
Field initialization(域的初始化 Java语言是一种强类型语言,所有变量(域和 方法中的局部变量)必须被初始化后才能使用 域的初始化可以使用两种方式:隐式和显式 隐式初始化:被声明为域的变量取其类型的 默认值修饰符二类型>域名>=≤初始值表达式>;
Field Initialization (域的初始化) • Java语言是一种强类型语言,所有变量(域和 方法中的局部变量)必须被初始化后才能使用 • 域的初始化可以使用两种方式:隐式和显式 • 隐式初始化:被声明为域的变量取其类型的 默认值 ; • 显式初始化:由初始化表达式计算得到域的 初值 =;
域类型的默认值 类型初始值 boolean class Body char uO000 public long idNum: byte 0 public String name; null short public Body orbits; null Int public static long nextID=5; 5 long 0 float 0.0f d ouble 0.0 Object Reference null
域类型的默认值 类型 初始值 boolean false char ‘\u0000’ byte 0 short 0 int 0 long 0 float 0.0f double 0.0 Object Reference null class Body{ public long idNum; public String name; public Body orbits; public static long nextID=5; } 0 null null 5
Static fields(静态域 声明为 static的域,称为静态域或类变量 ( class variables),没有被 istatic修饰的域,称 为非静态域或实例变量( (instance variables 静态域类似于类的全局变量,用于表示类本 身的状态,被类的所有对象共享 静态域可以通过类名或对象两种方式访问, 般通过类名访问 System. out. println (Body. nextID)
Static Fields (静态域) • 声明为static的域,称为静态域或类变量 (class variables),没有被static修饰的域,称 为非静态域或实例变量(instance variables) • 静态域类似于类的全局变量,用于表示类本 身的状态,被类的所有对象共享 • 静态域可以通过类名或对象两种方式访问, 一般通过类名访问 System.out.println(Body.nextID)