读书笔记(数据类型和变量)

该博客主要介绍Java编程知识。阐述引用类型,包括类、接口、数组引用类型,对比基本类型与引用类型区别;讲解变量作用域,如成员变量、局部变量等,区分实例变量和静态变量;还说明了对象默认引用this的使用场景,最后给出励志鸡汤鼓励坚持学习。

简介

引用类型
变量作用于
对象的默认引用:this

引用类型

引用类型可分为:类引用类型、接口引用类型、数组引用类型,分别对应一下三种

Doll doll;
java.lang.Runnable myThread;
int[] intArray;

类类型类引用类型的区分:

/**
 - 变量beibei是“Doll类引用类型”的变量,而new语句创建的Doll对象属于“Doll类型”,(引用类型引用类类型)
*/
Doll beibei = new Doll("beibei");
基本类型和引用类型的区别:
  • 基本类型待变简单的数据类型,比如整数,浮点数。引用类型所引用的实例能表示任意一中复杂的数据结构。
  • 基本数据类型仅表示数据结构,引用类型不仅表示数据结构还包括操纵数据的行为。
  • java虚拟机处理引用类型变量和基本类型变量的方式是不一样的:对于基本数据类型的变量,java虚拟机会为其分配数据类型实际占用的内存大小,而对于引用数据类型变量,他仅仅是一个指向堆区中某个实例的指针。
用new关键字创建对象

作用:

  • 为对象分配内存,将对象的实例变量自动初始化为其变量类型的默认值
  • 如果实例变量在声明时被显式初始化,那就把初始化值赋给实例变量
  • 调用构造方法
  • 返回对象引用

变量的作用域

变量更具作用域的不同可分为以下类型:

  • 成员变量:在类中声明,作用域为整个类
  • 局部变量:在方法的内部货方法的一个代码块中声明,作用域为{}内部
  • 方法参数:方法或构造方法的参数,作用域为整个方法或构造方法
  • 异常处理参数:和方法参数相似,做你哥用于为异常处理代码块
实例变量和静态变量

成员变量可分为两种:一种是用static修饰的,静态变量,一种是不用static修饰的实例变量
区别:

  • 静态变量在内存中只有一个,java虚拟机在加载类的过程中为静态变量分配内存,==静态变量位于方法区,被类的所有实例共享。==静态变量可以直接通过类名被访问。静态变量的生命周期取决于类的生命周期
  • 累的每个实例都有相应的实例变量。每创建一个实例,java虚拟机都睡为实例变量分配一次内存,实例变量位于堆区。实例变量的生命周期取决于实例的生命周期
局部变量的生命周期

java虚拟机的某个线程调用一个方法时,会为这个方法中的局部变量分配内存,结束调用一个方法时,会结束这个方法中局部变量的生命周期
局部变量使用时的限制:

  1. 不能别static、private、protected、public修饰
  2. 不能通过类名访问
成员变量和局部变量同名

在同一个作用域中不允许出现多个相同名字的变量
在一个方法内,可以定义和成员变量相同的局部变量或参数,此时,成员变量被屏蔽,需要访问成员变量时使用this关键字

将局部变量的作用域最小化可增加代码的可读性,可维护性,减少出错

对象的默认引用:this

当一个对象创建好后,java虚拟机会自动给它分配一个默认引用:this
this的使用场景:

  1. 在类的构造方法中,通过this语句调用类的另一个构造方法,有参构造中将参数赋给实例变量:this.color = color;
  2. 在一个方法中局部变量或参数和实例变量同名时,用this调用实例变量
  3. 在一个方法内访问当前实例的引用

最后干一碗鸡汤

人家说,十年磨一剑。就要十年之际,本应是宝剑出鞘的时候,却发现心中无墨、脑中无物、手上无一技之长。时光不会倒流,岁月不会再给你一次机会,过去十年已经过去。还有接下来的十年,接下来的二十年,如何用现在的决定,去影响未来的十年呢?除了找准方向开始,更要去坚持。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值