(堆、栈、方法区三者关系)、final关键字、权限修饰符
堆、栈、方法区三者关系
1.栈 :栈是程序运行的区域,效率最高,可以定义基础数据类型变量(局部变量),方法在栈区域执行
2.堆 :堆内存是用来存储对象的属性 , 引用数据类型
3.方法区:所有类的方法都在方法区。
main方法首先执行,压栈,在堆内存中创建了一个对象用shop接受,按照代码自上而下的顺序,调用setName方法,此时setName方法压栈赋予name "耐克"方法结束 弹栈,调用setPrice方法,此时setPrice方法压栈,方法执结束 弹栈,接着调用setCout方法,压栈 方法结束后弹栈,最后调用show方法 压栈,执行结束后弹栈,整个程序执行结束 main方法弹栈
堆内存中的变量在创建对象时赋值,引用数据类型的变量都有默认值
final关键字
final是一个修饰符,意思是最终的;
1.final 修饰的变量叫常量,只能赋值一次
2.final 修饰的方法称为最终方法,不能被重写
3.final 修饰的类称为 最终类,不能被继承
修饰的变量名最好为大写
权限修饰
public : 外部包 ,子类,当前包,当前类可以调用
protected:子类,当前包,当前类可以调用
默认(没有修饰符):当前包,当前类
private :当前类可以调用