java小知识点

来源:互联网 发布:内置软件卸载工具 编辑:程序博客网 时间:2024/06/07 01:31

关于成员变量和局部变量:

在类中的位置不同
成员变量 类中方法外
局部变量 方法内或者方法声明上


在内存中的位置不同
成员变量 堆内存
局部变量 栈内存


生命周期不同
成员变量 随着对象的存在而存在,随着对象的消失而消失
局部变量 随着方法的调用而存在,随着方法的调用完毕而消失


初始化值不同
成员变量 有默认的初始化值
局部变量 没有默认的初始化值,必须先定义,赋值,才能使用。

局部变量:必须要初始化,先定义再初始化,再可以使用。

成员变量:不需要初始化,因为你不初始化,Java默认给你初始化,成员变量作用范围为整个类体。(出了它的大括号没人认识他了)



关于方法的重载:

方法的重载是指一个类中可以定义名字相同但参数不同的方法(同名不同参)。Jvm在调用时会根据参数的不同来调用不同的方法。



关于构造方法:

与类同名,用来做类的初始化。如果不写构造方法,Java会默认加上一个无参的构造方法。



this关键字:

this一般出现在类的方法的声明里面,指的是你对哪个对象调的这个方法this指的就是谁,是指向自身对象的一个引用。(此引用指向这个对象自己)

处理方法中成员变量和参数重名的情况。骂人

方法被哪个对象调用,this就代表那个对象(当前类的对象)



多态:同一个对象(事物),在不同时刻体现出来的不同状态。
举例:
猫是猫,猫是动物。
水(液体,固体,气态)。

多态的前提:
A:要有继承关系。
B:要有方法重写。
其实没有也是可以的,但是如果没有这个就没有意义。
动物 d = new 猫();
d.show();
动物 d = new 狗();
d.show();
C:要有父类引用指向子类对象。
父 f =  new 子();

用代码体现一下多态。

多态中的成员访问特点:
A:成员变量
编译看左边,运行看左边。
B:构造方法
创建子类对象的时候,访问父类的构造方法,对父类的数据进行初始化。
C:成员方法
编译看左边,运行看右边。
D:静态方法
编译看左边,运行看左边。
(静态和类相关,算不上重写,所以,访问还是左边的)

由于成员方法存在方法重写,所以它运行看右边。