面向对象简述

面向对象
      将事物看成XX类,将事物对应的属性--->看成这个类的成员变量

      将事物对应的行为----->看成这个类的成员方法

面向对象思想的特征:
            1)面向对象更符合我们的生活中的行为思想习惯
            2)面向对象将我们从执行者变成了指挥者,指挥对象做事情
            3)面向对象简单性体现在这里:让我们事情从复杂性--->简单化

在Java中,创建对象:new对象
      类名 对象名 = new 类名() ;   
成员变量和局部变量的区别
        1)在类中位置不同
            成员变量:类中,方法外
            局部变量:方法声明上,或者再方法定义中
        2)在内存中的位置不同:
             成员变量:堆内存
             局部变量:栈内存
        3)生命周期不同:
             成员变量:成员变量是随着类的加载而加载,随着类的消失而消失
             局部变量:随着方法的调用而存在,随着方法调用完毕而消失
        4)初始化值不同
             成员变量:初始化由系统默认初始化,
                  对于成员变量,可以不给初始化值,由系统给,然后显示初始化;

             局部变量:定义一个局部变量,必须进行初始化,如果不初始化,无法使用(在使用之前进行初始化)

匿名对象:

      就是创建对象的时候,没有名字的对象,在实际开发中,只用使用一次,不要使用多次  (可能会造成一个内存溢出的现象);

举例:

 形式参数的问题:
             如果是基本数据类型,形式参的改变对实际参数没有影响

             研究引用类型:形式参数的改变会直接影响实际参数

举例(引用类型):


private(私有):体现的也是一种封装思想
    封装:
        标准类的写法,将成员变量全部私有化,被private修饰的成员变量只能在本类中访问,可以通过公共的访问方法去访问成员变量

private的用法:

             1)被private修饰的只能在本类访问
             2)可以通过公共的访问public 去间接访问

         当前成员变量和局部变量名称一致的情况,遵循就近原则。

         提供setXXX/getXXX()方法 ,快捷键:alt+shift+s+r

this关键字:

       this:代表是当前类对象,或者是(当前类对象的引用),解决了局部变量隐藏成员变量的问题。

构造方法:
      1)方法名和类名相同
      2)构造方法,连void都没有

构造方法作用:给对象进行进行初始化    

构造方法的注意事项:
         1)之前没有写无参构造,系统会默认提供无参构造
         2)如果我们无参构造或者有参构造,系统不会再提供无参构造;定义一个类的时候,永远给出无参构造;
    构造方法是可以重载的!           

 给成员变量赋值有两种方式:
              1)setXXX()公共的访问方法

              2)可以通过有参构造进行赋值  

 类的组成中有一个成员:成员方法

         成员方法的分类:
                 1)按照返回值划分
                     void的形式:没有具体的返回值
                     非void形式:有具体返回值
                 2)按照参数进行划分
                     空参
                     有参

 一个标准类的写法:

    学生类

         成员变量:姓名,年龄,性别
         成员方法:set/getXXX()
                 学习,睡觉...        
         构造方法:
             无参构造:
             有参构造:
创建学生类对象
        方式1:无参构造+set/getXXX()相结合的方式
        方式2:直接通过有参构造形式

static关键字: 

       在方法区中:开辟一个静态区域: 都是静态标记,解决多个对象对同一个变量进行共享的问题。
         1)静态随着类的加载而加载
         2)static优先于对象存在
         3)static共享数据,可以被多个对象进行共享
             举例:    饮水机(staticd的:共享的)
                     水杯(不能共享的...)
         4)如果数据被静态修饰的,它可以被类名直接调用
                     被静态修饰的方法:    类名.方法名()
                     被静态修饰的变量:    类名.变量名;

       静态只能访问静态


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值