![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
sayawei
我们都是小小星辰...
展开
-
java内存分配 散记
方法区: 存储可运行的字节码文件,包含方法,静态成员,常量等 栈: 方法运行时使用的内存。 变量名存储在栈里 堆: 存储new的数组或对象。 eg. 包含main方法的class加载到方法区,程序开始,main方法进栈 定义数组arr,看到new就开辟了一块空间。变量arr保存的是数组在堆中的地址,通过内存地址引用堆内存中的数组,所以数组是引用类型 将arr赋...原创 2019-07-25 17:21:56 · 94 阅读 · 0 评论 -
java 多态
实现多态需要: 有继承或实现(接口)的关系 有方法重写 父类引用指向子类对象 e.g. Animal a = new Dog(); 多态中调用成员方法是编译看左(左边类型有没有此成员方法),运行看右(运行时实际使用右边类中的成员) 多态的应用场景: 父类型作为方法的形参的数据类型,这样使得方法可以接收任意的子类对象 多态中,成员变量是编译看左,运行看左。 ...原创 2019-07-26 12:02:53 · 82 阅读 · 0 评论 -
final关键字 static关键字
final修饰类:无法被继承 (但是本身可以有父类) final修饰方法:无法被重写 (父类方法只让子类用,不让改) final修饰成员变量:常量,值只能设置一次 (final修饰引用类型的变量,地址值不能改变,但属性值可以变) static关键字 修饰成员变量: 被所有对象共享 修饰成员方法: 静态方法中没有对象this,所以不能访问非静态成员 使用场景:只需要访问静...原创 2019-07-27 20:52:47 · 103 阅读 · 0 评论