五、java面向对象编程(二)——类变量、类方法

来源:互联网 发布:mysql 最近3天 编辑:程序博客网 时间:2024/06/06 00:23

5.2 类变量、类方法

☆目标

1、初步理解什么是this代词

2、什么是类变量类方法

3、初步理解抽象、封装继承、多态

 

☆思考

有一群小孩在玩堆雪人,不时有新的小孩加入,请问如何知道现在共有多少人在玩?

要使用面向对象的思想,编写程序解决。

 

☆分析

设计一个int total表示总人数,在创建一个小孩时,就把total1,并且total是所有对象共享的。

这样的变量成为类变量,也叫静态变量。

 

 

 

☆代码

/*

 ************************************

作者:李俊挥

日期:2013-12-19

功能:类变量

 ************************************

*/

 

 

public class Demo

{

public static void main(String []args)

{

//创建三个小孩对象

child xiaoXin = new child(5,"小新");

child xiaoBai = new child(4,"小白");

child aDai = new child(6,"阿呆");

//输出小孩的总数(注意调用的方式)

System.out.println("小孩的总数:"+child.total);

}

}

 

class child

{

int age;

String name;

static int total = 0;

public child(int age,String name)

{

this.age = age;

this.name = name;

total++;

}

}

 

 

 

☆什么是类变量?

类变量是该类的所有对象共享的变量,任何一个该类的对象去访问它,取到的都是相同的值,同样任何一个该类的对象去修改它,修改的也是同一个变量。

 

☆如何定义类变量

定义语法:

访问修饰符 static 数据类型 变量名;

 

☆如何访问类变量

类名.类变量 或者 对象名.类变量

 

 

 

☆类方法

类方法是属于 所有对象实例的,其形式如下:

访问修饰符 static 数据返回类型 方法名(){}

 

注释:类方法中不能访问非静态变量

 

使用:类名.类方法 或者 对象名类方法

 

☆思考

写一个类方法,用来统计学费总和。

 

☆代码

/*

 ************************************

作者:李俊挥

日期:2013-12-19

功能:类方法

 ************************************

*/

 

 

public class Demo

{

public static void main(String []args)

{

//创建两个小孩,并总计两个小孩的学费

child xiaoMing = new child(3,"小明",350);

child xiaoQing = new child(3,"小强",480);

//打印学费

System.out.println("总学费:"+child.sumFee());

}

}

 

class child

{

int age;

String name;

int fee;

static int total = 0;

public child(int age,String name,int fee)

{

this.age = age;

this.name = name;

//总计学费

total += fee;

}

//静态方法

public static int sumFee()

{

return total;

}

}

 

采用静态方法,可以统一所有对象都共享一个内存,节省内存空间。

 

☆类变量小结

1、什么时候需要用类变量

案例:定义孩子类,统计孩子上学的学费

用类变量,属于公共的属性

2、类变量与实例变量的区别:

2.1、加上static成为类变量或者静态变量,否则成为实例变量

2.2、类变量是与类相关的,公共的属性

2.3、实例变量属于每个对象个体的属性

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

0 0
原创粉丝点击