局部变量:

我们定义在一个方法内部的变量称为局部变量。局部变量需要给初始值,才能使用。

成员属性:

实例属性:

直接定义在类中的属性,我们称为成员变量。成员变量jdk会给默认值。只属于某一实例。

类属性(静态属性):

直接定义在类中,然后我们使用了static修饰,也会被赋默认值。属于整个类和类所有的实例。

我们昨天所定义的属性,例如:

public class dog{

String name;

String color;

int age;

}

我们会发现一个问题,我们的属性随便谁都可以直接拿着访问,数据可以任意的给,那么会造成一个数据的不安全性。

我们解决这样的问题方法是:在定义属性的时候我们增加private。

public:公共的,谁都可以访问

default:当我没有显示指定任何修饰符时默认就是它,它不能写出来。同包可访问。

private:私有的,只有当前类可以访问。

我们给所有的属性增加了private修饰以后,又带来了一个问题,别的类无法访问这个属性。而我创造这个属性的目的是给别人用,但又不希望别人乱用。

方法:

一个类的行为,我们使用方法来描述。

我们今天针对所有昨天的属性做了改进,把所有的属性都设置成了private修饰,并给每一个属性提供了getter/setter方法,我们把这样的一个过程称为封装。

针对boolean类型的变量我们提供getter方法的时候,我们应该这样写:

public boolean isSex(){

return sex;

}

this关键字的用法:

代指当前对象。

为什么要写this在访问成员变量的时候_java面向对象(局部变量和成员属性)相关推荐

  1. Java成员变量与类变量_Java基础随记2-成员变量和类变量的区别

    由static修饰的变量称为静态变量,其实质上就是一个全局变量.如果某个内容是被所有对象所共享,那么该内容就应该用静态修饰:没有被静态修饰的内容,其实是属于对象的特殊描述. 不同的对象的实例变量将被分 ...

  2. Java成员变量(全局变量)和局部变量

    在Java中变量类型有成员变量.局部变量和静态变量(类变量.static变量),本篇文章主要介绍成员变量(全局变量)和局部变量的区别. 根据变量的作用范围,将程序中的变量分为成员变量(全局变量)和局部 ...

  3. 设计一个长方形类。成员变量包括:长度和宽度,成员函数除包括计算周长和计算面积外, 还包括用set方法来设置长方形的长度和宽度,以及用get的方法来获得长方形的长度和宽度 最后,编写一个测试程序来测试所

    本文为博主原创文章,未经博主允许不得转载. 版权为陈博超所有,第一次于2020年11月22日发表于BLOG上 本BLOG上原创文章未经本人许可,不得用于商业用途.转载请经允许后注明出处,否则保留追究法 ...

  4. java成员变量垃圾回收_JAVA 对象被垃圾回收后其成员变量可用吗? | 学步园

    我们知道JVM中一个对象实例超出作用域或无引用的时候会被垃圾回收,那么他被垃圾回收后,依赖其成员变量的其他实例是否还能正常使用呢?经过测试后发现即使一个实例被垃圾回收,如果他内部的数据被其他对象使用, ...

  5. java实例成员和类成员变量的区别_Java之实例成员与类成员

    一:实例变量和类变量 类体中的成员变量可细分为实例变量和类变量.用关键字static修饰的称作类变量,否则称为实例变量.例如: class Dog{ float x;    //实例变量 static ...

  6. java 成员变量的初始化_Java类变量和成员变量初始化过程

    一.类的初始化 对于类的初始化:类的初始化一般只初始化一次,类的初始化主要是初始化静态成员变量. 类的编译决定了类的初始化过程. 编译器生成的class文件主要对定义在源文件中的类进行了如下的更改: ...

  7. 成员变量(全局变量)和局部变量区别

    1.成员变量(全局变量)在类中,方法外,可用修饰符修饰 2.局部变量在方法中,不可用修饰符修饰

  8. 如何理解成员变量在堆内,局部变量在栈内?

    成员变量在堆内存里,局部变量在栈内存里.(基础类型) 我有疑惑: 既然成员变量存在于对象中,对象存在于堆中,所以成员变量存在于堆中.那么按照这样的推理,局部变量存在于方法中,而方法存在于对象中,对象存 ...

  9. java反射成员变量的值_Java反射如何修改private final成员变量值

    大家都知道使用java反射可以在运行时动态改变对象的行为,甚至是private final的成员变量,但并不是所有情况下,都可以修改成员变量.今天就举几个小例子说明. 基本数据类型 /** * @au ...

最新文章

  1. 看完这些能控制大脑的寄生虫,你会怀疑人类!
  2. k8s的yaml写法
  3. SAP 凭证冲销可以使用BAPI_ACC_DOCUMENT_REV_POST或者BDC录制FB08来做
  4. linux常见命令_Linux系统常见命令
  5. Php的定界符有哪些了,php中定界符
  6. eureka-7-多网卡下的ip选择
  7. 不规矩的xml与JAVA对象互相转换的小技巧-使用Marshaller
  8. 190223每日一句
  9. html使用iframe src,HTML IFrame src用法及代码示例
  10. chrome控制台出现/null访问
  11. 每部都是经典 一生不能不看的电影
  12. 芒果超媒前三季营收102亿:同比降12% 互联网广告收入降26%
  13. Android 获取/设置:窝蜂移动数据网络状态
  14. win7保护眼睛的颜色设置方法
  15. 各种好看的cosplay小姐姐热门图片,统统爬取收藏
  16. 关于IPB帧与恒定比特率、动态比特率的详解
  17. 大富豪3(GM商城版)新手攻略之购买土地
  18. 设计模式(四) 观察者模式
  19. EPLAN 2022 v3.0
  20. 用ControlJS优化阿里妈妈广告

热门文章

  1. Java IDEA使用详解
  2. rxvt_为什么我使用rxvt作为终端
  3. raspberry pi_如何购买Raspberry Pi
  4. raspberry pi_在Raspberry Pi上使用Mathematica进行高级数学运算
  5. java 补丁差异_差异和补丁简介
  6. 考古甜瓜子_数字考古与开源
  7. (10)js操作符(运算符)
  8. es6 async函数与其他异步处理方法的比较
  9. C语言printf()、sprintf()、vsprintf() 的区别与联系
  10. 休息是为了更好的出发