4.7 实例成员与类成员

来源:互联网 发布:单位网络服务器限速 编辑:程序博客网 时间:2024/06/05 00:21

4.7 实例成员与类成员

4.7.1 实例变量与类变量的声明

类:

(1)成员变量的声明

1.实例变量

2.类变量

(2)方法的定义

1.实例方法

2.类方法


4.7.1代码例子:

class Dog{float  x;          //实例变量  static int y;     //类变量}
class A{int a;float max(float x,float y){      //实例方法···}static float minx(){                 //类方法···  }}

4.7.2 实例变量与类变量的区别

1.不同对象的实例变量互不相同

2.所有对象共享类变量

3.可以通过类名直接访问类变量


4.7.3 实例方法和类方法定义

1.类方法:方法声明时,方法类型前面没有static

2.类方法:方法声明时,方法类型前面有static

见例子(4.7.1代码例子)


4.7.4 实例方法和类方法区别

1.对象调用实例方法

(1)实例方法可以操作实例变量,也可以操作类变量

(2)对象调用实例方法时,该方法出现的实例变量就是分配给该对象的实例变量。该方法出现的类变量也是分配给该对象的类变量,这个变量和其他对象共享


2.类名调用类方法

(1)类方法可以被类创建的任何对象调用执行,也可以直接通过类名调用

(2)实例方法不能通过类名调用,必须通过对象调用

(3)类方法不可以操作实例变量(因为在类创建对象之前,实例成员变量还没有分配内存,即还未new)


3.设计类方法的原则

(1)static方法,不用创建对象就可以直接用类名调用。如果一个方法不需要操作类中的任何实例变量就可以满足程序的需求,就可以将这样的方法设计为static方法

例子:Array类、Math类中所有方法都是static方法