《Java 2 实用教程》读书笔记(四)4.4
来源:互联网 发布:2017网络剧台湾耽美 编辑:程序博客网 时间:2024/05/18 03:00
第4章 类、对象和接口
1. 实例变量和类变量的区别:
如果类中的成员变量有类变量,那么所有对象的这个类变量都分配给相同的一处内存,改变其中一个对象的这个类变量会影响其他对象的这个类变量,也就是说对象共享类变量。
当Java程序执行时,类的字节码文件被加载到内存,如果该类没有创建对象,类的实例成员变量不会被分配内存。但是,类变量被加载到内存时,被分配了相应的内存空间。所有的对象的类变量是相同的一处内存空间,直到程序退出运行,才释放所占有的内存。类变量不仅可以通过某个对象访问,也可以直接通过类名访问。
2. 实例方法和类方法的区别:
实例方法:当类的字节码文件被加载到内存时,类的实例方法不会被分配入口地址,当该类创建第一个对象时,类中的实例方法就分配了入口地址,当再创建对象时,不再分配入口地址,即方法的入口地址被所有的对象共享,当所有的对象都不存在时,方法的入口地址才被取消。实例方法必须通过对象来调用。
类方法:对于类方法,在该类被加载到内存时,就分配了相应的入口地址,从而类方法不仅可以被类创建的任何对象调用执行,也可以直接通过类名调用。类方法的入口地址知道程序退出才被取消。类方法中出现的成员变量必须是被所有对象共享的变量,即类变量。
3. 无论是类方法还是实例方法,当被调用执行时,方法中的局部变量才被分配内存空间,方法调用完毕,局部变量即刻释放内存。在一个方法被调用执行完毕之前,如果该方法又被调用,那么,方法的局部变量会再次被分配新的内存空间。
4. this可以出现在实例方法和构造方法中,但不可以出现在类方法中。this出现在类的构造方法中时,代表使用该构造方法所创建的对象。格式:this.实例成员变量/方法;类名.类变量/方法。通常情况下,可以省略实例成员变量名字前的“this.”以及static变量前的“类名.”,但当成员变量的名字和局部变量的名字相同时,成员变量前面的“this.”或“类名.”不可省略。
- 《Java 2 实用教程》读书笔记(四)4.4
- 《Java 2 实用教程》读书笔记(四)
- 《Java 2 实用教程》读书笔记(一)
- 《Java 2 实用教程》读书笔记(二)
- 《Java 2 实用教程》读书笔记(三)
- Effecive Java 读书笔记(四)
- Effective Java读书笔记(四)
- effective java 读书笔记(四)
- Java并发读书笔记(四)
- Java多线程读书笔记(四)
- java大学实用教程(第三版)2/p20
- JAVA实用教程(第2版)配套源码笔记
- java实用教程
- VHDL实用教程读书笔记(1)
- Java 2实用教程 学习之类与程序
- JAVA 2 实用教程 5.3 子类与对象
- Java 2 实用教程 5.4 方法重写
- Java Singleton 实用教程(附源码)
- 功能测试方法
- JVM调优:GC 参数
- JVM系列三:JVM参数设置、分析
- Windows平台下运行hadoop程序wordCount记录
- servlet/filter/listener/interceptor区别与联系
- 《Java 2 实用教程》读书笔记(四)4.4
- 1.2.4
- 《深入理解java虚拟机》学习笔记4——Java虚拟机垃圾收集器
- org.hibernate.QueryException: Expected positional parameter count: 2, actual parameters: [] [SELECT
- 6行代码玩转git
- JVM调优总结
- 【慕课笔记】2-1 数据类型与操作数据表—内容回顾
- 详解Java GC的工作原理
- 《HTML+CSS基础课程》学习笔记七