类
类与对象的关系
①对象(object)表示现实世界中可以明确识别的实体。例如,学生、圆、按钮等。对象具有属性和行为。
②类(class)定义了一-类对象共有的属性和方法。③类是对象的模板、蓝图;对象是类的实例。
类常量
◆类常 量是用static final修饰的变量。
◆例如,Math类中的常量PI定义为:
public static final double PI = 3.14159265358979323846;
实例变量与静态变量
◆实例变量(instance variable):未用static修饰的成员变量,属于类的具体实例(对象),只能通过对象引用.变量访问。存储于堆中。
◆静态变量(static variable):用static修饰的变量,在一个类的所有实例间共享,也称类变量。静态变量可以通过类名或对象引用变量访问。存储于方法区。
实例方法与静态方法
◆实例方法(non- static method)是没用static修饰的方法, 也称非静态方法。.
(1)可通过对象引用变量调用。
(2)可被其他实例方法调用,不可在静态方法中直接调用。
◆静态方法(static method)是用static修饰的方法,也称为类方法。例如: main(), Math.random0等。
(1)静态方法可以通过类名、对象引用变量或在类的实例方法中直接调用。
(2)静态方法只能访问类的静态成员,不能访问类中的非静态成员。
◆类的基本格式
class类名 class Student
{ {
成员变量 类体,
成员方法 }
}
●class是关键字,用来定义类
●类名必须是合法的Java标识符,见名知意,每个单词的第一个字母大写
◆类体内容可以有2种类型的成员:
① 成员变量:描述对象的特征属性。
②成员方法:描述对象的所有行为。
●功能性方法:对象具有的某种功能。
●构造方法:用于类创建对象时使用。
this关键字
(1) this表示当前对象
◆在构造方法或实例方法中, 实例变量被局部变量或方法参数隐藏,可以通过this.instanceVariable访问实例变量。.
◆不可用于静态方法内。
(2)调用当前类的其它构造方法。
◆this(actualParameterListop)
◆必须是构造方法的第I条语句。
封装概念与优点
封装就是隐藏对象的属性和实现细节,仅对外公开接口,控制在程序中属性的读取和修改的访问级别。
封装的优点: .
良好的封装能够减少耦合。
类内部的结构可以自由修改。
可以对成员变 量进行更精确的控制。
隐藏信息,实现细节。
让程序代码更容易理解与维护。
增强了代码的安全性。
实现Java封装的方法
1.修改属性的可见性来限制对属性的访问(- -般设为private)。
2.对每个属性设置公共的访问器(Setter. 与Getter)方法。
static关键字:用于定义属性和方法
◆static属性: 类的所有对象共享属性,又称类变量,或静态变量
◆语法格式:
[访问权限修饰符] static 数据类型成员变量[=初值];
说明:系统只为该静态变量分配- - 个存储空间,类的所有对象都共享这个存储空间。
static属性和非static属性
- 非static属性:必须先实例化对象,对象,属性进行访问
- 2.static属性;在没有实例化对象产生时,类,属性进行访问
Student. schoolName
Math. PI
Math. E
◆static方法: 又称类方法,不依赖特定对象的方法
◆statici语法格式
[访问权限修饰符] static 返回类型方法名(参数列表)
{......};
◆使用: Math. abs(-2.3); max(3, 5);
◆注意的问题:
①不能直接访问实例字段和实例方法,
②也不能使用this关键字和super关键字。
③静态方法可以直接访问本类的静态变量和静态方法



