黑马程序员--面向对象(上)

来源:互联网 发布:自我心理治疗的软件 编辑:程序博客网 时间:2024/05/16 12:05

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------


面向对象上
1、面向对象思想概述
面向对象的定义:
面向对象(Object Oriented,OO)是软件开过过程中使用一种思维方式 。
面向对象三大特征:
封装(encapsulation)
继承(inheritance)
多态(polymorphism)
2、类与对象
定义:
具有相同特征(属性)和行为(功能)的一类事物的抽象。
定义类其实就是在定义类中的成员(成员变量和成员函数)。
        属性:对应类中的成员变量。
        行为:对应类中的成员函数。  
成员变量和局部变量
       之前我们用到的基本都是局部变量,现在我们将会使用成员变量。其实它两都是变量,规范写法上也没啥区别,都是标识符,但是在作用范围和内存中分配不同。
区别:
       成员变量:
                a)成员变量定义在类中,在整个类中都可以被访问。
                b) 成员变量随着对象的建立而建立,存在于对象所在的堆内存中。
                c) 成员变量有默认初始化值。
       局部变量:
                a) 局部变量只定义在局部范围内,如:函数内,语句内等。
                b) 局部变量存在于栈内存中。
                c) 作用的范围结束,变量空间会自动释放。
                d) 局部变量没有默认初始化值。
匿名对象
        匿名对象是对象的简化形式。
        匿名对象两种使用情况
                1、当对对象方法仅进行一次调用的时。
                2、匿名对象可以作为实际参数进行传递。
例: new Car();
注:如果对一个对象进行多个成员调用,必须给这个对象起个名字。 
3、封装
  概念
       是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
  好处
        a)将变化隔离。
        b)便于使用。
        c)提高重用性。
        d)调高安全性。
原则
        a)  将不需要对外提供的内容都隐藏起来。
        b)  把属性都隐藏,提供公共方法对其访问。
封装的表现形式之一——private(私有)
        private关键字:权限修饰符;用于修饰类中的成员(成员变量,成员函数);私有只在本类中有效。
       常用之一:
                将成员变量私有化,对外提供对应的set,get方法对其进行访问。提高对数据访问的安全性。
        如:我有一个人对象,而年龄这一属性我不想被对象访问,我就可以将其设为private。
4、this
定义:
this代表其所属对象的引用。
没有实例对象,this就没有意义。
5、构造函数
特点:
        a) 函数名与类名相同。
        b) 不用定义返回值类型。
        c) 不可以写return语句。
 作用:
        给对象进行初始化。
构造函数的小细节:
        当一个类中没有定义构造函数时,那么系统就会默认给该类加入一个空参数的构造函数。当在类中自定义了构造函数后,默认的构造函数就没有了。
构造函数和一般函数在写法上有不同。
在运行上也有不同:
        构造函数式在对象一建立就运行,给对象初始化。而一般方法是对象调用才执行,给是对象添加对象具备的功能。一个对象建立,构造函数只运行一次。而一般方法可以被该对象调用多次。
什么时候定义构造函数?
        当分析事物时,该事物存在具备一些特性或者行为,那么将这些内容定义在构造函数中。
构造代码块
       作用:给对象进行初始化。对象一建立就运行,而且优先于构造函数运行。
和构造函数的区别:
        构造代码块是给所以对象进行初始化。
        而构造函数是给对应的对象初始化。
构造代码块中定义的是不同对象共性的初始化内容。
7、static
定义:静态修饰符,用于修饰成员(变量与函数)。
修饰后成员特点:
被所有对象共享
随着类的加载而加载,与创建对象时机无关
可以直接通过类名访问或调用
注意事项:
静态修饰的变量一旦赋值便影响所有实例
静态方法只能访问静态成员
静态方法中无法使用this或者super
主函数是静态的
static为固定修饰,与对象无关是JVM的入口
public公共访问权限允许外界调用
无返回值,定义返回值类型没有意义
参数为String数组类型,用来接收字符串参数
函数名为JVM固定查找的字符串不能修改
形参名可以修改并使用

0 0
原创粉丝点击