为什么要写this在访问成员变量的时候_java面向对象(局部变量和成员属性)
局部变量:
我们定义在一个方法内部的变量称为局部变量。局部变量需要给初始值,才能使用。
成员属性:
实例属性:
直接定义在类中的属性,我们称为成员变量。成员变量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面向对象(局部变量和成员属性)相关推荐
- Java成员变量与类变量_Java基础随记2-成员变量和类变量的区别
由static修饰的变量称为静态变量,其实质上就是一个全局变量.如果某个内容是被所有对象所共享,那么该内容就应该用静态修饰:没有被静态修饰的内容,其实是属于对象的特殊描述. 不同的对象的实例变量将被分 ...
- Java成员变量(全局变量)和局部变量
在Java中变量类型有成员变量.局部变量和静态变量(类变量.static变量),本篇文章主要介绍成员变量(全局变量)和局部变量的区别. 根据变量的作用范围,将程序中的变量分为成员变量(全局变量)和局部 ...
- 设计一个长方形类。成员变量包括:长度和宽度,成员函数除包括计算周长和计算面积外, 还包括用set方法来设置长方形的长度和宽度,以及用get的方法来获得长方形的长度和宽度 最后,编写一个测试程序来测试所
本文为博主原创文章,未经博主允许不得转载. 版权为陈博超所有,第一次于2020年11月22日发表于BLOG上 本BLOG上原创文章未经本人许可,不得用于商业用途.转载请经允许后注明出处,否则保留追究法 ...
- java成员变量垃圾回收_JAVA 对象被垃圾回收后其成员变量可用吗? | 学步园
我们知道JVM中一个对象实例超出作用域或无引用的时候会被垃圾回收,那么他被垃圾回收后,依赖其成员变量的其他实例是否还能正常使用呢?经过测试后发现即使一个实例被垃圾回收,如果他内部的数据被其他对象使用, ...
- java实例成员和类成员变量的区别_Java之实例成员与类成员
一:实例变量和类变量 类体中的成员变量可细分为实例变量和类变量.用关键字static修饰的称作类变量,否则称为实例变量.例如: class Dog{ float x; //实例变量 static ...
- java 成员变量的初始化_Java类变量和成员变量初始化过程
一.类的初始化 对于类的初始化:类的初始化一般只初始化一次,类的初始化主要是初始化静态成员变量. 类的编译决定了类的初始化过程. 编译器生成的class文件主要对定义在源文件中的类进行了如下的更改: ...
- 成员变量(全局变量)和局部变量区别
1.成员变量(全局变量)在类中,方法外,可用修饰符修饰 2.局部变量在方法中,不可用修饰符修饰
- 如何理解成员变量在堆内,局部变量在栈内?
成员变量在堆内存里,局部变量在栈内存里.(基础类型) 我有疑惑: 既然成员变量存在于对象中,对象存在于堆中,所以成员变量存在于堆中.那么按照这样的推理,局部变量存在于方法中,而方法存在于对象中,对象存 ...
- java反射成员变量的值_Java反射如何修改private final成员变量值
大家都知道使用java反射可以在运行时动态改变对象的行为,甚至是private final的成员变量,但并不是所有情况下,都可以修改成员变量.今天就举几个小例子说明. 基本数据类型 /** * @au ...
最新文章
- 看完这些能控制大脑的寄生虫,你会怀疑人类!
- k8s的yaml写法
- SAP 凭证冲销可以使用BAPI_ACC_DOCUMENT_REV_POST或者BDC录制FB08来做
- linux常见命令_Linux系统常见命令
- Php的定界符有哪些了,php中定界符
- eureka-7-多网卡下的ip选择
- 不规矩的xml与JAVA对象互相转换的小技巧-使用Marshaller
- 190223每日一句
- html使用iframe src,HTML IFrame src用法及代码示例
- chrome控制台出现/null访问
- 每部都是经典 一生不能不看的电影
- 芒果超媒前三季营收102亿:同比降12% 互联网广告收入降26%
- Android 获取/设置:窝蜂移动数据网络状态
- win7保护眼睛的颜色设置方法
- 各种好看的cosplay小姐姐热门图片,统统爬取收藏
- 关于IPB帧与恒定比特率、动态比特率的详解
- 大富豪3(GM商城版)新手攻略之购买土地
- 设计模式(四) 观察者模式
- EPLAN 2022 v3.0
- 用ControlJS优化阿里妈妈广告