Presentation is loading. Please wait.

Presentation is loading. Please wait.

第10讲 Java面向对象编程基础(4) 教学目标 主要内容.

Similar presentations


Presentation on theme: "第10讲 Java面向对象编程基础(4) 教学目标 主要内容."— Presentation transcript:

1 第10讲 Java面向对象编程基础(4) 教学目标 主要内容

2 教学目标 理解类变量、类方法与实例变量、实例方法的概念和区别。 掌握类变量和类方法的使用(即static修饰符的使用)。

3 主要内容 1、类变量、类方法与实例变量、实例方法简介 2、类变量和类方法使用的注意事项

4 一、类变量、类方法与实例变量、实例方法简介
1、类变量、类方法的概念 类变量(class variables)、类方法(class methods),指的是用“static”修饰符声明的变量、方法,其地位与类等同,在内存中只有一个地方存放。 2、实例变量和实例方法的概念 实例变量和实例方法指没有用static修饰符修饰的变量和方法。

5 一、类变量、类方法与实例变量、实例方法简介
3、区别 1)类变量能被由此类创建的所有对象共享。实例变量会被复制在每一个从类产生的实例中。 【例10.1】类变量和实例变量在共享性方面的区别。( JavaProgram\chapter10\src\chapter10\ StaticDemo.java)

6 一、类变量、类方法与实例变量、实例方法简介
2)类变量的生存期不依赖于对象,相当于C语言中全局变量的作用。其它类可以不用通过创建该类的实例,直接通过类名访问它们,而实例变量则不行。 【例10.2】通过类名直接访问类变量的例子。(源代码见:JavaProgram\chapter10\src\chapter10\ VarDemo.java)

7 一、类变量、类方法与实例变量、实例方法简介
3)类方法则相当于C语言中的全局函数,其他的类也可以直接通过类名来访问类方法,而实例方法则不行。 【例10.3】通过类名直接访问类方法的例子。(源代码见:JavaProgram\chapter10\src\chapter10\ FunctionDemo.java)

8 二、类变量和类方法使用的注意事项 1、【例10.4】类变量和类方法的使用。 1)不正确的引用(StaticError.java)
public class StaticError { String mystring="hello"; public static void main(String args[]) System.out.println(mystring); } 编译时错误信息: 无法从静态上下文中引用非静态变量 mystring System.out.println(mystring); 错误原因:只有实例方法可以访问实例变量。

9 二、类变量和类方法使用的注意事项 2)解决的办法一 将实例变量改成类变量。(NoStaticError1.java)
class NoStaticError1 { static String mystring="hello"; public static void main(String args[]) System.out.println(mystring); }

10 二、类变量和类方法使用的注意事项 3)解决的办法二 先创建一个类的实例再使用该变量。(NoStaticError2.java)
class NoStaticError2 { String mystring="hello"; public static void main(String args[]) NoStaticError2 noError; noError = new NoStaticError2(); System.out.println(noError.mystring); }

11 二、类变量和类方法使用的注意事项 2、总结 1)同一个类的实例方法可以访问该类的类变量和类方法。
2)类方法只能访问该类的类变量和类方法,不能直接访问实例的变量和方法。因为对象实例化之前,实例变量不可用,否则编译会出错。

12 作业 1、类变量和实例变量有什么区别? 2、类变量和类方法在使用过程中有什么需要注意的地方?

13 下课!


Download ppt "第10讲 Java面向对象编程基础(4) 教学目标 主要内容."

Similar presentations


Ads by Google