java整理

来源:互联网 发布:联想电脑怎么卸载软件 编辑:程序博客网 时间:2024/06/07 00:04
1.字节码文件是虚拟机调用的,构造函数也是虚拟机调用的
2.引用类型的变量是4个字节
3.对象不能使用主方法和构造方法,构造方法只能系统调用,主方法是虚拟机调用
4.方法空间4个字节,存放的是共享方法的地址

静态多态、静态连编、编译多态:在编译的时候便可以决定初始化哪个构造方法

           

创建对象的步骤(堆内存的一块空间,存放的是对象的地址)

1.  在堆中创建空间

2.  初始化全局变量,开辟属性空间

3.  开辟方法空间(类对象能够使用的方法)空间都是一样的,四个字节

4.  调用相应的构造方法,为堆里的属性初始化(参数的个数、类型、顺序决定初始化哪个构造方法---参数签名决定初始化哪个构造方法),编译的时候便可以知道

5.  返回对象的地址

游离对象:

Dog d=null;//在栈中创建变量,只是一个引用,存放与其类型相同对象的地址

d=new Dog();//赋给类型相同的对象的地址

D=new Dog(30);//上一个对象是游离对象,gc会自动垃圾回收


构造方法的特点:

1 .没有返回值的概念

2.方法名和类名相同

3.为堆里所指对象的属性初始化

4.构造方法是由虚拟机的主线程/系统调用

5.在一个类里有无数的构造方法,无参的构造方法只有一个,参数签名必须不一样

6.由编译器识别构造方法

7.构造方法也有自己的栈帧


隐藏:隐藏是一种保护机制,使得它的属性和方法不能被外部的程序所访问

实现方式:java中通过将数据封装、声明为私有,再通过一个公有的构造方法来实现对该属性的操作。以实现以下目的:

1.隐藏一个类的实现细节

2.使用者只能通过事先定制好的方法来访问数据,可以更好的加入控制逻辑

3.有利于数据的完整性,参照完整性,用户自定义完整性

4.便于修改,增强代码的可维护性

方法中使用变量的步骤

到当前的方法栈中去寻找,若没有,到对象的属性中去寻找该变量


贫血模型和充血模型

充血模型:只有方法,没有属性

贫血模型:只有属性,没有方法(不包括构造方法,但可以有构造方法)

整形和String自动支持序列化



0 0
原创粉丝点击