类体中包括成员变量的声明和方法的定义
而成员变量又可以分为实例变量和类变量
用关键字static给予修饰的称作类变量(静态变量),否则为成员变量
实例变量和类变量的区别
1、不同对象的实例变量互不相同:
分配给不同对象的实例变量占有不同的内存空间,改变其中一个对象的实例变量不会影响到其他对象的实例变量
2、所有对象共享类变量:
分配给不同对象的类变量占有相同的内存空间,改变其中一个对象的类变量会影响到其他对象的类变量
3、通过类名直接访问类变量
4、直到程序退出运行,才释放类变量的内存空间
class Lader
{
double height;//实例变量
static double bottom;//类变量
void setheight(double a)
{
height = a;
}
double getheight()
{
return height;
}
double getbottom()
{
return bottom;
}
}
public class Example_7
{
public static void main(String args[])
{
Lader.bottom = 100;//通过类名直接访问类变量,不用创建对象
Lader laderone = new Lader();//默认的构造方法创建对象
Lader ladertwo = new Lader();
laderone.setheight(100);
ladertwo.setheight(200);
System.out.println("laderone的高: " + laderone.height);
System.out.println("ladertwo的高: " + ladertwo.height);
System.out.println("二者的下底: " + laderone.getbottom());
}
}
实例方法和类方法
1、方法类型前面是否有加关键字static
2、对象调用实例方法
不仅可以操作实例变量,还可以操作类变量
3、类名调用类方法
类方法不可操作实例变量,因为类创建对象之前,实例变量还没有分配好内存