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

时间:2021-11-22 16:52:34

            -------     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培训      期待与您交流! ----------