面向对象基础语法

面向对象基础语法,第1张

面向对象基础语法

文章目录
  • 面向对象
    • 1.概念
    • 2.对象内存图
    • 3.局部变量与成员变量
    • 4.this关键字
    • 5.POJO类
    • 6.几个概念
      • 1.private关键字
      • 2.封装
      • 3.标准JavaBean
      • 4.构造方法(构造器)


面向对象 1.概念
  • 面向过程: C语言
    思想:当需要实现一个功能的时候,看中的是每一个步骤怎么做,整体的过程是怎么样的。每一个 *** 作都需要亲力亲为。
  • 面向对象: Java、C++ 适合大型开发场景
    思想: 当需要实现一个功能的时候,不看重具体的过程和步骤是怎样的,而是关心“谁能帮我做这件事”
    三大特征: 封装、继承、多态。
  • 根据 类 实例化(创造) 对象。
    定义类的注意事项:一个Java文件(.class文件)中可以定义多个类,但是只能有一个类是用public 修饰的,public修饰的类名必须是Java代码的文件名称。
2.对象内存图

成员方法 在 堆中只是一个地址,还需到 方法区 寻找。 方法区中.class文件 ; 堆中 new出的东西 (new几次,堆中就有几个对象);

两个对象时:当Phone two = one时,one和two就会指向同一个对象(地址)。

3.局部变量成员变量

区别:

  1. 定义位置不同
    局部变量: 定义在方法内。 (成员方法的形参其实是一个局部变量)
    成员变量: 直接定义在 类中,在方法的外面。
  2. 内存位置不同
    局部变量:在栈内存中
    成员变量:在堆内存中(new 出来)
  3. 生命周期不一样
    局部变量:随着方法的进栈而出现,出栈而消失
    成员变量:随着对象被创建而出现,对象被JVM回收而消失
  4. 默认值不一样
    局部变量:没有默认值,必须赋值
    成员变量:有默认值(堆中)
4.this关键字
  • 当 局部变量 与 成员变量 重名时,方法根据“就近原则”使用局部变量。
  • this . 成员变量 区分重名的 局部变量
  • 作用 :将重名的 成员变量和局部变量区分开。
  • this 关键字代表的是“当前对象”地址,用于访问当前对象的成员变量、成员方法 ,通过谁调用的方法,谁就是this
5.POJO类

:Plain Old Java Object

“标准的类”:
①所有成员变量 private 私有化
②对每一个成员变量都编写一对Setter、Getter方法
③编写无参构造方法
④编写全参构造方法
注:boolean类型是setXXX() 和 isXXX()

6.几个概念 1.private关键字

  一旦使用private关键字对成员修饰,那么超出本类范围之外,就不能直接访问了。
  但可以“间接访问”,在本类中编写一对 setter(专门设置数据的)、getter(专门获取数据的) 方法。Eg. Public int getAge() { return age}

2.封装

:隐藏实现细节,暴露合适的访问方法。(合理隐藏,合理暴露)

  类中 对成员变量使用private关键进行隐藏,使用getter、setter方法对其暴露 就是对封装的一种使用。

  好处:加强程序代码安全性;适当封装可以提升开发效率,同时让程序更容易理解和维护。

3.标准JavaBean

:可以理解为 实体类,其对象可以用于在程序中封装数据

满足: 成员变量使用private修饰;提供每一个成员变量对应的setXxx()/getXxx() ; 必须提供一个无参构造器。

4.构造方法(构造器)

:专门用来创建对象的方法。当通过new关键字创建对象时,其实就是在调用构造方法。

  格式: public 构造方法名( 参数 ){ }  //无返回值类型,通常return省略, 方法名称与所在类名称 完全一样
  Person one = new Person()  //可以将Person() 当做构造方法。调用构造方法就是 new,若有参数直接在new 后的()写。

  可以重载(Overload) -->名称相同,参数不同 —> 重载构造方法 可以在new的同时对 成员变量赋值。
  注意: 若构造方法没有自定义,就会默认设置一个无参、无方法体的构造方法,若自定义了至少一个,将不再自动设置。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5596879.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存