JAVA基本概念 2

1、成员变量分为实例变量静态变量(类变量)

实例变量:没有用static修饰的成员变量。

静态变量:用static修饰的成员变量,又称为类变量。

区别:

      (1)当Java程序执行时,类的字节码文件被加载到内存,如果该类没有创建对象,实例变量不会被分配内存;但类变量会被分配相应内存。

      (2)实例变量必须通过对象访问;类变量可以通过对象访问,也可以通过类名访问。

不同对象的实例变量互不相同,即分配不同的内存空间,改变其中一个对象的实例变量不会影响其他对象的实例变量;类变量在该类加载到内存时就被分配内存,不再重新分配内存,所有对象共享类变量,类变量的内存空间直到程序退出运行才被释放。

 

 

2、方法分为两个部分:方法的声明和方法体。

     (1) 除构造方法之外,方法都必须都有类型,即使类型为void也不能省略。

      (2)方法内定义的局部变量从它定义的位置之后开始有效。

      (3)方法:构造方法、实例方法、类方法。

      (4)实例方法可以操作成员变量,无论是实例变量还是类变量;实例方法必须通过对象来调用。

      (5)类方法只能操作类变量,不能操作实例变量;类方法还可以通过类名调用。

      (6)为什么实例方法必须通过对象来调用?——当类的字节码文件被加载到内存时,类的实例方法不会被分配入口地址,只有当类创建对象后,类的实例方法才分配入口地址。但是,创建一个对象时,实例方法分配了入口地址,再创建对象时,不再分配入口地址,即方法的入口地址被所有对象共享。

      (7)当使用new和构造方法创建对象时,首先分配成员变量给该对象,同时实例方法分配入口地址,再执行构造方法中的语句,完成必要的初始化。

      (8)为什么类方法不能操作实例变量和实例方法?——在类创建对象之前,实例成员变量还没有分配内存,实例方法也还没有分配内存。

 

3、方法中的参数传值

      (1)对于基本数据类型的参数,传递的值的级别不能高于该参数的级别。

      (2)对于引用类型参数的传值,传的是变量的引用,而不是变量所引用的实体。引用的改变不会影响实体,但是实体的改变,会改变原变量实体的改变。  

 

4、方法重载:是多态性的一种。在同一个类中,具有相同的名字,但参数必须不同,方法的返回类型和参数的名字参与比较。  

     方法的重写:这个出现在之类继承父类的方法,方法的返回类型、名字、参数全部相同,对方法体重写。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值