Java-面向对象(成员变量&&局部变量、static、封装)

    技术2022-07-12  68

    成员变量&&局部变量 局部变量:方法中声明 成员变量:方法外、类中声明

    public class Test2 { //int num =20; 成员变量 public void test() { //int num = 10; 局部变量 } }

    局部变量和成员变量变量名相同时,局部变量的优先级更高 成员变量在堆内存中,局部变量在局部变量的表中

    类中方法互相调用 1.Static定义的main方法调用别的方法,对方也必须是static静态方法,否则无法调用 2.如果不是静态方法,则需要创建实例在调用 3.在main的出口调用方法

    public class Test2 { int num =20; public void test() { int num = 10; System.out.println(num); //直接指向成员变量 System.out.println(this.num); } public static void main(String[] args) { Test2 test = new Test2(); test.test(); } }

    两个变量的区别: 1.作用域不同 2.初始值不同,局部变量不会赋初始值,成员变量会赋初始值,由其数据类型决定 public class Test2 { int num; } 七.封装 封装是指将类的属性隐藏在内部,外部不能直接访问和修改

    把属性私有化,用get(获取数据)、set(修改数据)方法,在这些方法中添加逻辑

    封装步骤: 1.修改成员变量为私有,private,是的外部不能访问 2.提供外部可以直接调用的方法 3.加入对于属性逻辑的控制,避免出现逻辑错误

    访问权限是指该属性可以直接访问的方法,在属性定义时设定,有四种方法:public、private、默认(不写)、protected,区别在于作用域不同

    八.Static 表示静态或者全局,可以⽤来修饰成员变量和成员⽅法以及代码块。 使⽤ static 修饰的成员变量和成员⽅法独⽴于该类的任何⼀个实例化对象,访问时不依赖于该类的对象,⽽是直接通过类去访问,可以理解为被该类的所有实例对象所共⽤,所以说是全局的。

    可以修饰代码块,叫做静态代码块 特点:只执行一次,当类被加载到内存中时执行(运行时类)

    static { System.out.println(1); }

    栈和堆:Student student =new Student()左边的在栈中,右边的在堆中,双方依靠地址互通 基本数据类型不需要堆,引用类型需要堆

    Processed: 0.008, SQL: 9