Java学习笔记,适用于零基础的小伙伴

    xiaoxiao2022-07-08  208

    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)重载构造方法,是根据参数列表来区分是哪个构造方法。

    如果你想学习Java可以来这个群,首先是二二零,中间是一四二,最后是九零六,里面可以学习和交流,也有学习资料可以下载。

    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方法对其改值和取值。

    最新回复(0)