您的位置:首页 > 编程语言 > Java开发

java -- 面向对象概述及static关键字

2012-08-15 17:36 441 查看
            ------- android培训 java培训 期待与您交流! ----------

面向对象

1. 特征:封装, 继承, 多态。

2. 特点:面向对象是一种思想,它能使复杂的问题简单化,能使我们的角色从执行者变为指挥者

4. 过程:找对象, 建立对象, 使用对象, 维护对象的关系

5. 类和对象的关系:

  类:(1) 就是用于事物的描述(事物的属性,事物的行为)。
   (2) 属性对应的是类中的变量; 行为对应的是类中的函数。
   (3) 定义类,就是在定义属性和行为。属性和行为共同成为类中的成员(成员变量,成员函数)

     对象:就是这类事物,实实在在存在的个体。

6. 成员变量和局部变量

(1). 作用范围:
      成员变量作用于整个类中。
      局部变量作用于函数或者语句中。

(2). 在内存中的位置:
      成员变量:在堆内存中。因为对象的存在,才在内存中存在。
      局部变量:在栈内存中。

7. 匿名对象
1. 匿名对象是对象的简写格式。
2. 匿名对象使用的两种情况:
     (1).当对象函数仅进行一次调用时。
  (2).匿名对象可以作为实际参数进行传递。

8. (1) 封装:是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
(2) 封装的好处:将变化隔离;便于使用; 提高重用性;提高安全性。
(3) 封装的原则:将不需要对外提供的内容都隐藏起来。
     把属性都隐藏,提供公共方法对其访问。

9. 构造函数
(1).函数名和类名相同
(2).不用定义返回值类型
(3).不可以写return语句
(4).对象一建立就会调用与之对应的构造函数
(5).可以用于给对象进行初始化
(6).当一个类中没有定义构造函数时,系统会默认给该类加入一个空参数的构造函数

10. 构造代码块:
(1).作用:给对象进行初始化
(2).对象一建立就运行,而且优先于构造函数执行
(3).构造代码块是给所有对象进行统一初始化,其定义的是不同对象共性的初始化内容
(4).而构造函数是给对应的对象初始化

关键字 -- static

1. static(静态)
(1).用于修饰成员(成员变量和成员函数)

(2).被修饰后的成员具备以下特点:
   ·随着类的加载而加载
  ·优先于对象存在
  ·被所有对象所共享
  ·可以直接被类名调用
(3).使用注意:
  ·静态方法只能访问静态成员
·静态方法中不可以写this,super关键字
·主函数是静态的
(4).静态变量也称为类变量

2. 实例变量和类变量的区别:
(1).存放位置:
     类变量随着类的加载而存在于方法区(共享区)中
    实例变量随着对象的建立而存在于堆内存中
(2).生命周期:
     类变量生命周期最长,随着类的消失而消失
     实例变量生命周期随着对象的消失而消失

3. 静态使用注意:
(1).静态方法只能访问静态成员
(2).非静态方法既可以访问静态,也可以访问非静态
(3).静态方法中不可以定义this,super关键字
(4).主函数是静态的

4. 静态的利弊:
利:对对象的共享数据进行单独空间的存储,节省空间
   可以直接被类名调用

弊:生命周期过长
访问出现局限性(只能访问静态)

5. 什么时候使用静态
(1).当对象中出现共享数据时,该数据被静态所修饰;对象中的特有数据要定义成非静态
(2).当函数功能内部没有访问到非静态数据时,该函数可以定义成静态的
(3).当定义一个工具类的时候,没有用到类中特有数据时,这些函数都可以定义成静态,
并且在调用这些函数时,没有必要再创建新的对象,直接用“类名.函数名”调用即可
(4).工具类虽然没有必要创建新的对象,但该类还是可以被其他程序建立对象,为了更为
严谨,应该强制让该类不能建立对象(通过将构造函数私有化完成)

            ------- android培训 java培训 期待与您交流! ----------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: