java语言基础之面向对象之变量

---恢复内容开始---

定义变量的语法:

数据类型 变量名=值

-----------------------------------------------------------

变量根据在类中定义位置的不同,分成两大类:

成员变量:全局变量/字段(Field),不要称之为属性(错误)。直接定义在类中,方法外面。

      1):类成员变量  使用static修饰的字段。

      2):实例成员变量  没有使用static修饰的字段。

局部变量:变量除了成员变量,其他都是局部变量。

      1):方法内部的变量。

      2):方法的形参。

      3):代码块中的变量,一对{}。

class ABC
{
  String info=null;//成员变量
    void doWork(String name)
    {
          int age;//局部变量
    }
}

-----------------------------------------

变量的初始值:初始化才会在内存中开辟空间。

成员变量:默认是有初始值的。

局部变量:没有初始值,,所以必须先初始化才能使用。

-------------------------------------------

变量的作用域

  变量根据定义的位置不同,也决定了各自的作用域是不同的。

成员变量:在整个类中都有效

局部变量:从开始定义的位置开始,到紧跟着结束的花括号为止

--------------------------------------------

成员变量,可以先使用后定义,局部变量必须先定义而后才能使用。

---------------------------------------------

  存在位置 生命周期开始 生命周期结束 在内存中的位置
类变量 字段,使用static修饰 为所在字节码被加载进JVM 当JVM停止 方法区
实例(成 员)变量 字段,没有使用static修饰 当创建所在类的对象的时候 当该对象被GC回收
局部变量 方法形参,代码块中,方法内 当代码执行到初始化变量的时候 所在的方法/代码块结束  

什么时候使用成员变量和局部变量:

1):考虑变量的生存时间,这会影响内存开销。

2):扩大变量作用域,不利于提高程序的高内聚。

开发中应该尽量缩小变量的使用范围,如此在内存中停留时间越短,性能也就越高。

不要动不动就使用static修饰,定义工具方法时static方法需要访问的变量,该变量属于类,此时才使用static修饰字段。

也不要动不动就使用成员变量,因为存在着线程不安全的问题,能使用局部变量尽量使用局部变量。

---恢复内容结束---

时间: 2024-10-22 13:18:43

java语言基础之面向对象之变量的相关文章

Java语言基础:常量和变量

阅读目录: 1.常量的概念 2.变量的概念 1.常量的概念 1.常量表示不能改变的数值 2.Java中常量的分类: 1.整数常量,所有整数 2.小数常量,所有小数 3.布尔型常量,较为特殊,只有两个数值.true/fa 4.字符常量,将一个数字字母或者符号用单引号('')标识 5.字符串常量,将一个或者多个字符用双引号("")标识 6.null常量,只有一个数值就是:null 3.对于整数:有四种表现形式 二进制:0,1, 满2进1 八进制:0-7,满8进1.用0开头表示 十进制:0-

2018.6.13 Java语言基础复习总结

Java语言基础与面向对象编程实践 第一章 初识Java 1.1机器语言 机器语言是指一台计算机全部的指令集合.机器语言室友0和1组成的二进制数,是一串串由0和1组成的指令序列,可将这些指令序列交给计算机执行. 1.2汇编语言 负责把汇编语言翻译成二进制的机器语言,这种翻译程序就是汇编程序. 1.3高级语言 1954年第一个完全脱离机器硬件的高级语言FORTRAN诞生 1.3.1C语言 是一种计算机程序设计语言,它既有高级语言的特点,又具有汇编语言的特点. 1.3.2 C++语言 是具有面向对象

第二十五节:Java语言基础-面向对象基础

面向对象 面向过程的代表主要是C语言,面向对象是相对面向过程而言,Java是面向对象的编程语言,面向过程是通过函数体现,面向过程主要是功能行为. 而对于面向对象而言,将功能封装到对象,所以面向对象是基于面向过程的.以前是主要以面向过程为思想,现在是将功能装进对象中,如果要用到功能时,就调用该对象即可. 面向对象是入门思想的进步,适用于人类的思考,将复杂的东西进行了简单化,将我们程序员从执行者变化成指挥者.由以前面向功能(面向过程)转变为面向对象(封装的功能). **** 面向对象设计思想 设计思

02 java语言基础

常量:字面值常量(字符串,字符,整数,小数,布尔,null),自定义常量,''这个不是字符常量,""这个是字符串常量 进制: 02.01_Java语言基础(常量的概述和使用)(掌握) A:什么是常量 在程序执行的过程中其值不可以发生改变 B:Java中常量的分类 字面值常量 自定义常量(面向对象部分讲) C:字面值常量的分类 字符串常量 用双引号括起来的内容 整数常量 所有整数 小数常量 所有小数 字符常量 用单引号括起来的内容,里面只能放单个数字,单个字母或单个符号 布尔常量 较为特

java--学习java从这里开始:Java语言基础(1)《基础知识篇》--黑马程序员

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- Java语言基础(1) 从这篇日记开始说一些关于java的语言基础知识, 1  Java语言概述 java的创始人——詹姆斯·高斯林(James Gosling) 1977年获得了加拿大卡尔加里大学计算机科学学士学位,1983年获得了美国卡内基梅隆大学计算机科学博士学位,毕业后到IBM工作,设计IBM第7一代工作站NeWS系统,但不受重视.后来转至Sun公司,1990年,与Patrick,Na

[JAVA_开课吧资源]第一周 Java语言概述、Java语言基础

主题一 Java语言概述 » JDK介绍及其基本组件 Sun公司利用Java开发工具箱(Java Development Toolkit ,JDK)发布Java的各个版本.JDK由开发和测试Java程序的独立程序集组成,它们都从命令行调用. [请点击查看更多内容 转自51CTO.com] » 使用CMD开发运行Java程序 代码文件的拓展名必须为.java,并且文件名应该与类的类名完全相同.编译一个程序是指使用编译器将源代码翻译成java字节码.下面的命令用来编译源代码文件welcome.jav

day05<Java语言基础--数组>

Java语言基础(数组概述和定义格式说明) Java语言基础(数组的初始化动态初始化) Java语言基础(Java中的内存分配以及栈和堆的区别) Java语言基础(数组的内存图解1一个数组) Java语言基础(数组的内存图解2二个数组) Java语言基础(数组的内存图解3三个引用两个数组) Java语言基础(数组的初始化静态初始化及内存图) Java语言基础(数组操作的两个常见小问题越界和空指针 Java语言基础(数组的操作1遍历) Java语言基础(数组的操作2获取最值) Java语言基础(数

Java学习总结(二)----Java语言基础

1.     Java语言基础 2.1 关键字 定义:被java语言赋予特殊含义的单词 特点:关键字中的字母都为小写 用于定义数据类型的关键字 class,interface,byte,short,int, long ,float,double,char,boolean,void 用于定义数据类型值的关键字 true,false,null 用于定义流程控制的关键字 If,else,switch,case,default, while,do,for,break,continue,return 用于

非专业码农 JAVA学习笔记 2 java语言基础

java语言基础 (一)程序构成 略 (二)数据类型变量和常量 1.数据类型(与c#差不多) 布尔bool 8位 字节byte 8   -128-127 字符char 16 短整型Short 16 Int 32 Long 64 Float 32 Double 64 2.标识符-变量常量方法对象和类的名字标记 字母数字 还有两个特殊符号_ 和$ 字母下划线或者美元符号开头 3.常量 4.变量 (三)表达式 1.赋值和强制类型转换 Tostring()弱转换 类型=(类型)变量:a=(int)b;a