4.方法操作实例变量

来源:互联网 发布:品茗软件哪里买 编辑:程序博客网 时间:2024/06/06 07:29

引言:对于对象而言,状态(实例变量表示)影响行为(方法表示),行为影响状态.类的每个实例(即特定类型的每个对象)可以维持自己的实例变量编写类,即在描述JVM如何制作该类型的对象


1.传值给方法:

方法会运用形参,调用的一方会传入实参

实参是传给方法的值,当它传入方法后就成了形参,形参类比于局部变量

JAVA是通过值传递的,即通过拷贝传递,这样意味着在方法中无法改变调用方传入的参数

一言以蔽之:以值传递就是拷贝传递


要点:

传入与传出的值类型可以隐含地放大或明确地缩小

方法只能声明单一的返回值,若要返回多个值,则需要声明返回类型为数组,如多个值类型不同,则涉及到ArrayList

对于传入的参数是对象,明确JAVA中传递的所有东西都是值,但仅限于变量携带的值,即引用变量的是远程控制,传入的就是远程控制的拷贝


2.封装(encapsulation)

2.1.Getter与Setter

Getter主要目的是返回实例变量的值

Setter主要目的是设定实例变量的值,不通过圆点运算符的原因是保证安全性,强制通过此方法设定而不是直接的设定


2.2.封装基本原则

将实例变量标记为私有,提供公有的Getter与Setter来控制存取


2.3.数组中对象的行为

记得一条原则:数组中的元素值也是远程遥控,同其他对象


3.声明与初始化实例变量

未说明时,默认值

integers,char     0

floating points   0.0

booleans          false

references        null(代表没有操作对象的远程控制,是个引用,而不是对象)


4.局部变量与实例变量的区别

实例变量声明在类中而不是方法中

局部变量在方法中

局部变量使用前必须初始化(没有默认值,编译不通过)


5.变量的比较

主要用==运算符,判别主数据类型是否相等以及两个引用变量是否引用同一个对象

但若想知道两个对象是否真的相等,应用equals()方法,此处相等的意义包含对象的类型,而==运算符只是代表字节组合的相等






 


阅读全文
0 0
原创粉丝点击