2021-06-17

成员变量

**成员变量的概述 **
在Java中,变量可以分为成员变量和局部变量。成员变量是在类范围内定义的变量,局部变量是在方法中定义的变量。加瓦程序中的变量划分如图下所示
在这里插入图片描述
**成员变量的使用 **
成员变量在使用之前,需要先进行声明,声明成员变量是在类的内部、方法的外部定义的变量,成员变量分为实例变量和类变量。实例变量作用域是当前所属实例的范围,类的成员变量的作用域是整个类范围 。
成员变量的声明要给出变量名,变量,类型以及其他特征,其语法如下

[<修饰符>] [static] [final]<变量名>

示例
在这里插入图片描述

this关键字

**方法中调用方法或成员变量 **
this关键字最大的作用就是让类中的一个方法访问该类中的另一个方法或实例成员变量 。假设定义了一个hero类,该hero对象run()方法需要调用它的jump()方法应该如何完成 ?
见示例
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

隐藏和封装

**封装的概念 **
现实生活中,封装的例子随处可见,如药店出售的胶囊类药品,我们只能看到胶囊却看不到胶囊的材料和生产工序;邮递的包裹我们只能看到包裹外部的包装,却看不到里面的物品,电视机可以收看电视节目,却看不到电视机的组装技术的,这些都是现实生活中的封装。

封装是面向对象的三大特征之一,它指的是将对象的状态信息隐藏在对象内部,不允许外部程序直接访问对象内部信息。而是通过该类所提供了方法,实现对内部信息的操控和访问 。
封装是面向对象编程语言对客观世界的模拟,客观世界中的属性均被隐藏在对象内部,外界无法直接操作和修改 ,如人的年龄属性只能随岁月的流逝而增加,通常不能随意修改人的年龄,对一个类或对象实现良好的封装,可以实现以下目的 :
一,隐藏类的实现细节
二,让使用者只能通过事先预定的方向访问数据,从而可以在该方法中加入控制逻辑,限制对属性的不合理访问
三,可以进行数据检查,从而有利于保证对象信息的完整性
四,便于修改,提高代码的可维护性

实现良好的封装需要从以下两个方面考虑 :
一,隐藏对象的属性和实现细节不允许外部直接访问
二,暴露出方法,让方法控制,对这些属性进行安全的访问和操作

因此,封装实际上有两个方面的含义,隐藏该隐藏的暴露,万一暴露的这两个方面都需要通过Java提供的访问控制符来实现 。

Static关键字

加瓦那的运行包括内加载和实例化两个阶段,当一个类被加的字jvm中 静态成员会被初始化,被static修饰的成员即为静态成员,静态成员包括静态代码块,静态属性和静态方法。静态成员不属于某个对象,请属于静态成员所在类。
静态成员变量
类的成员变量包括静态变量和实例变量,静态成员变量被static关键字修饰的成员变量,静态成员变量属于其所在类贝类中的所有实例共享,静态成员变量可通过类直接访问,也可通过类的实例访问 。
你太变量和实例变量的区别包括以下两点 :
一,静态变量共享一块内存空间在类加载的过程中完成静态变量内存分配及出处话可以使用内直接访问静态成员变量 。
二,每创造一个十年,都会在堆内存中为其创造一块内存空间,每一个十年都含有一个属于自身的实例属性。
**静态方法 **
被师太几个修饰符的方法称为静态方法,静态方法也可通过类名直接访问。在使用静态方法是需要注意,静态方法中不能访问非静态的成员,如实例属性,实例方法 。
静态方法通常作为工具方法,不会因为实力的不同而影响方法最终的执行效果 。
**静态代码块 **
静态方法在类加载后,虽然在内存中已经分配了内存空间,但只有显示的调用。静态方法是该放我才会被执行,如果需要在类加载时执行某一操作,则可使用静态代码块。静态代码不存在任何方法体中,他在Java虚拟机加载类时被执行。如果类中包含多个静态代码块,则Java虚拟机将按照他们在那中出现的顺序依次执行,且每个静态代码块只能被执行一次 。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值