Java:面向对象的基础概念01

面向对象概念:

  1. 创建一个类,将某一类型的方法都放在这个类中(封装)
  2. 面向过程与面向对象:
    面向过程:注重于过程,注重一步一步的求解,去实现(面对具体的每一个功能函数,凡事亲力亲为)
    面向对象:将具体功能进行封装,注重于找到具体的类,创建出对象,来调用相对应对象的具体功能

面向对象例子:

做饭->

  1. 买菜
  2. 洗菜
  3. 烧水
  4. 切菜
  5. 煮菜
  6. 装盘
    面向对象是将做饭这整一个过程封装起来,组装成一个做饭的类
    当主函数中要使用“煮菜”这一方法时:
    先找到做饭类,再在做饭这个类中寻找所需要的方法,
    调用做饭函数,并进行相应的功能实现

面向对象和面向过程的差异:

  1. 面向对象更符合人们思考习惯的思想
  2. 面向过程中更多的体现的是执行者,面向对象更多的体现的是指挥者。
  3. 面向对象将问题简单化
  4. 面向过程是基本的思想,面向对象是面向过程的一种优化方式

对象在需求中的使用:

依据前面的做饭的例子我们进行延伸
【做饭】
需求:做一顿能吃的饭
对象:菜,人
分六步:

  1. 买菜
  2. 洗菜
  3. 烧水
  4. 切菜
  5. 煮菜
  6. 装盘

运用面向对象,该过程可分为两个对象:

{
+动作
}


{
+动作
}

注意:

  1. Java中使用具体的事物,要通过new关键词创建这个事物
    new 类();
    //按照类所描述的内容创建一个具体的对象出来
  2. 进行物体行为描述时,将其放在类中,需要调用时,进行引用
  3. 对象与类的关系:对象是类所描述出来的具体事物

定义一个类:

  1. 定义其特征和行为:
    特征:变量
    行为:函数

class dog{
//成员变量
姓名 String name;
品种 String sort;
年龄 int age;

//成员函数(非static函数)
叫 public void wang(){…};
吃 public void eating(){…};
}

  1. 定义一维数组,二维坐标
    int[ ] a=new int[1];
    int[ ] [ ] a=new int[2][2];

  2. 在主函数中引用该类中的成员函数
    类名 . 成员函数名字();

对象创建流程:

类描述
属性 成员变量
行为 成员函数

  1. 主函数进栈
  2. 执行new dog() 在堆内存中开辟一个空间,分配地址(随机)
  3. 在对象空间中创建成员变量的空间 再对成员变量进行默认初始化(成员函数并不在对象空间里)
  4. 在函数栈中创建局部变量 存放的是该对象在堆内存中地址

private私有关键字

  1. 前提:成员变量一直暴露在代码中,任何人都可以访问并且修改他的值,导致数据的安全性不高,此时并不一定需要全部向外界访问。
  2. 概念:将成员变量私有化—> private (不需要外界进行访问)

但是,如果只是不想让外界修改值,而外界可以继续进行访问和查看
引出访问器的概念:
getter —> 成员变量访问器
setter —> 成员变量修改器

返回类型 getter(){
return 成员变量;
}
返回类型 setter(){
this.成员变量=成员变量
}

this 关键字

  1. 前面在使用setter()成员变量修改器时,使用到了this 关键字,其实将其变量的名字在函数中修改也是可以的,但是在这里,我们为了方便理解
  2. this :表示当前对象的引用
    成员变量的个数和对象的个数有关
    成员函数的个数和对象的个数无关 始终一个

成员变量初始化

对象在堆中创建其成员变量有默认初始化
分为三类:
默认初始化—>没有传参数,函数中什么都没有,默认值0或null
显示初始化—>给类定义一个初始值,每个定义的初始值都相同
针对性初始化—>每个人有每个人的值,大家都不一样

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值