面向对象--java

面向对象

  • 学习如何自己设计对象并使用

  • 学习获取已有对象并使有

类和对象

  1. 类是对现实生活中一类具有共同属性和行为事物的抽象

  2. 我们可以将其理解为对象的设计图

对象

是能看得到摸得着的,可以使用的真实存在的实体

类是对象的抽象,对象是类的实体

对象的组成

  1. 属性: 对象具有的各种特征, 每个对象的每个属性都拥有特定的值

  2. 行为: 对象能够执行的操作

对象内存图

数据结构

队列

先入先出

先进后出

数据进入:进栈或者压栈

取出数据:出栈

JAVA内存分配

栈:所有局部变量都会在栈内存中创建

  • 局部变量: 定义在方法中的变量或者方法声明上的变量

  • 方法执行都会加载到栈中进行

  • 局部变量特点: 随着方法的调用而存在,随着方法的调用完毕而消失

堆: 所有对象及其对应的实例变量和数组都将存储在此处

  • 简单理解为: new出来的东西, 都储存在此处

  • 每一个new出来的东西都有一个地址值,使用完毕,会在垃圾回收器空闲时被回收

实例变量(成员变量)有初始化值:

  • 基本数据类型:整数: 0, 浮点数: 0.0 , 布尔: false , 字符: 空字符

  • 引用数据类型: null

成员变量和局部变量的区别

区别成员变量局部变量
类中位置不同类中方法外方法内或者方法声明上
内存中位置不同堆内存栈内存
生命周期不同随着对象的存在而存在,随着对象的消失而消失随着方法的调用而存在,随着方法的调用完毕而消失
初始化值不同有默认的初始值没有默认的初始值,必须先定义,赋值,才能使用

private关键字

  • 是一个权限修饰符

  • 可以修饰成员变量和成员方法

  • 作用是保护成员不被别的类使用,被private修饰的成员只在本类中才能访问

针对private修饰的成员变量,用于获取成员变量的值,方法用public修饰

  • 提供get变量名()方法,用于获取成员变量的值 方法用public修饰

  • 提供set变量名(参数),用于设置成员变量的值,方法用public修饰

JavaBean类

  • 就是一个java中的类 ,其对象可以用于在程序中封装数据

标准的javaBean类须满足如下要求:

  1. 成员变量使用private修饰

  2. 提供每一个成员变量对应的setXxx()和getXxx()方法

  3. 提供一个无参构造方法

this关键字

  1. this限定的变量用于指代成员变量

  • 方法的形参如果与成员变量同名, 不带this修饰的变量指的是形参,而不是成员变量

  • 方法的形参没有与成员变量同名,不带this修饰的变量指的是成员变量

  1. 什么时候使用this? 解决局部变量隐藏成员变量

  2. this: 方法被哪个对象调用, this就代表哪个对象

封装

概述

  • 是面向对象三大特征之一(封装,继承,多态)

  • 是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界是无法直接进行操作的

封装原则

  • 将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问

  • 成员变量private, 提供对应的getXxx()和setXxx()方法

封装的好处

  • 通过方法来控制成员变量的操作,提高了代码的安全性

  • 把代码用方法进行封装,提高了代码的复用性

构造方法及注意事项

概述:

  • 构造方法是一种特殊的方法

  • 作用: 创建对象

  • 功能:主要是完成对象数据的初始化

注意事项

  1. 构造方法的创建

  • 如果没有定义构造方法,系统将会给出一个默认的无参构造方法

  • 如果定义了构造方法,系统将不会再提供默认的构造方法

  1. 构造方法的重载

  • 如果自定义了带参构造,还要使用无参数构造方法,就必须再写一个无参构造方法

  1. 推荐的使用方式

  • 永远提供无参数构造方法

  1. 注意

  • 构造方法不要加返回值

  • 方法名和类名相同

    特点:new实例化对象的时候,构造方法就会被执行(调用)

    最佳实践
    • 我们给自己的类,显式的提供一个无参空构造方法

    • 企业开发中,一般遵循这个规则

垃圾回收

编程语言分两大类

  • 弱类型语言: 无需关心变量的类型是什么

  • 强类型:需要明确指定变量的类型是啥 Java C# C/C++

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值