原标题:Java部分基础学习笔记
1. 成员变量与局部变量的区别
1.作用域:
成员变量的作用域是整个类中都可以访问;
局部变量是的作用域是定义它的{}内, {}中的语句执行完它就被回收;
2.初始值:
局部变量使用前必须手动赋值, 系统不会赋默认值;成员变量系统会赋默认初始值.
3.所在内存区域:
局部变量在方法运行的栈内存里,在栈里,会自动释放;
成员变量在对象里,对象在堆里,成员变量也在堆里,不使用的对象会被垃圾回收机制在不确定的时候回收.
2. 匿名对象的使用
(1)当对对象中的功能只执行一次的时候使用。
(2)用于作为实际参数进行传递。
(3)可以用匿名对象调用属性, 没意义.
3. 封装
(1)封装的好处:便于重复使用,安全性高。
(2)private(私有的)权限修饰符。
4. private( 私有)
private修饰成员变量和成员不能在其他类中直接访问.
注意:私有仅仅是封装的一种体现形式, 封装是一种思想, 就是将具体实现隐藏,仅对外暴露访问方式.
5. 构造 方法
(1)用途:用于给对象中属性进行初始化。
A:格式 类名(){code}Person(){}
B:Person(){}publicPerson(){}
(2)特点 不定义空参构造,系统会自动给一个空参构造,定义了构造方法无论是有参还空参的,系统就不再给空参数的了。
(3)重载构造方法,是根据参数列表来区分是哪个构造方法。
6.this 关键字
每个对象都有一个指向自己的指针,就this。
7.this 的作用
1.在方法中区分成员变量和局部变量.this.成员变量;
2.this语句可以在构造方法里调用其他构造方法;
3.在一个方法中,this可以调用本类的其他方法,可以省略:
(1)代表当前对象的引用。使用的时候,谁调用方法,this就代表谁。
(2)什么时候使用this呢?
A:当局部变量和成员变量重名的时候,可以用this进行区分。
B:this调用成员方法
C:this调用本类其他构造, 注意必须放在构造方法第一行。
代码如下:
运行结果:
8.创建对象在内存中的详细步骤 : Person p = newPerson();
1.主方法进栈,给类类型变量p分配空间
2.在堆内存中开辟空间,分配内存地址
3.在堆内存中建立对象特有属性,并进行默认初始化 4.对属性进行显式初始化 5.将内存地址赋给栈内存中的p变量 9.static( 静态)特点
随着类的加载而加载,随着类的消失而消失。优先于对象。静态可以被所有对象共享,也可以被类名所调用。
10.方法区
方法区是各个线程所共享的内存区域,它用于存储已被虚拟机加载的类信息,常量,静态变量,即时编译器编译后的代码等数据.
局部代码块&构造代码块&静态代码块:
局部代码块:
作用:控制变量的生命周期
构造代码块:
作用:它可以给所有对象进行初始化,存在于类中。当类中的构造方法以重载的形式存在时,并且有共同成员变量或共同的方法时,可以通过构造代码块对其进行初始化;这样可以减少代码的重复。
静态代码块:
作用:加载驱动器。当类中的方法都被静态化,并且构造方法被private了,这时我们不能,在将这个类实例化,然而又想让类增加一些属性,就可以使用静态代码块。
11.静态的使用 类的成员用static修饰后,就多了一种调用方式,原来对象名.成员可以继续调用,现在,通过类名.成员,也可以调用.
类在什么时候加载?
在第一次使用的时候加载,而后就常驻内存.
12. 单例设计模式应用
让内存中某个类型的对象只能同时存在一个.
13.final 关键字
final可以修饰类,方法,变量。final修饰的类不可以被继承。final修饰的方法不可以被覆盖。final修饰的变量是一个常量, 只能被赋值一次。
14.final 和private区别
final修饰的类可以访问。
private不可以修饰外部类,但可以修饰内部类,讲内部类的时候会演示
final和private修饰的方法子类无法重写, final不允许重写, private重写不了.
final修饰的变量只能在显示初始化或者构造方法初始化的时候赋值一次,以后不能更改。
private修饰的变量,也不允许直接被子类或一个包中的其它类访问或修改,但是他可以通过set和get方法对其改值和取值。
郑重声明:此文内容为本网站转载企业宣传资讯,目的在于传播更多信息,与本站立场无关。仅供读者参考,并请自行核实相关内容。