java基础入门之五(面向对象+this)

来源:互联网 发布:算法统宗中的问题 编辑:程序博客网 时间:2024/05/28 04:55


面向过程:强调的是功能行为。
面向对象:相对面向过程而言,基于面向过程。
          将功能封装进对象,强调具备了功能的对象。
    特征:封装,继承,多态

封装:隐藏对象的属性和实现细节,仅对外提供公共的访问方式
  优点:1.将变化隔离
        2.便于使用
        3.提供重用性
        4.提高安全性
  原则:1.将不需要对外提供的内容都隐藏起来
        2.把属性都隐藏,提供公共方法对其访问
private:私有,权限修饰符:用于修饰类中的成员(成员变量,成员函数)
   范围:在本类中有效
   注意:私有仅仅是封装的一种表现形式

------------------------------

类和对象的关系:
类:对现实生活中事物的描述,提取对象中的共性内容
    对具体的抽象。定义类,就是在定义属性和行为。
对象:就是这类事物,实实在在存在的个体

成员变量和局部变量:
作用范围:1.成员变量作用于整个类中。
          2.局部变量作用于函数或语句中。
在内存位置:1.在堆内存中,因为对象存在,才在内存中存在
            2.存在栈内存中。

匿名对象使用方式:1.当对象的方法只调用一次时,可以用匿名对象来完成。
                    如果对一个对象进行多个成员调用,必须给对象取名字。
                  2.可以将匿名对象作为实际参数进行传递

---------------------------------

构造函数:给对象进行初始化
    特点:1.函数名与类名相同
          2.不用定义返回值类型
          3.不可以写return语句
    注意:1.默认构造函数的特点
          2.多个构造函数是以重载的形式存在的

    细节:当类中没有定义构造函数时,系统会默认给该类加一个空参数的构造函数
          没有构造函数,就不能建立对象。
          当在类中自定义了构造函数后,默认的构造函数就没了

与一般函数的区别:1.写法不同
                  2.运行上不同。构造函数是对象一建立就运行,给对象初始化,只运行一次。
                                一般方法是对象调用才执行,是给对象添加对象具备的功能,可被调用多次
什么时候定义构造函数:当分析事物时,该事物存在具备一些特性或者行为,那么将这些内容定义在构造函数中。

构造代码块:给对象进行初始化,定义的是不同对象共性的初始化内容
            对象一建立就运行,优先于构造函数执行。
和构造函数的区别:1.构造代码块是给所有对象进行统一初始化
                  2.构造函数是给对应的对象初始化。

------------------------------

class A
{
    private int age;
    A( int age )
    {
        age = age;//先找局部,然后找成员
    }
    void fun()
    {
        System.out.printf("age="+age);//输出age=0
    }
}
this关键字:代表本类对象,代表它所在函数所属对象的引用
            哪个对象在调用this所在的函数,就代表哪个对象
     应 用:当定义类中功能时,该函数内部要用到该函数的对象时,
            可以使用this来表示这个对象。
this在构造函数间调用,示例如下:
注:this语句只能定义在构造函数第一行,因为初始化要先执行。
class A
{
    private int a;
    private int b;
    A( int a )
    {
        this.a = a;
    }
    A( int a, int b )
    {
        this(a);
        this.b = b;
    }
}

原创粉丝点击