黑马程序员技术交流社区

标题: 面向对象总结3 [打印本页]

作者: 15383220936    时间: 2016-2-27 21:54
标题: 面向对象总结3
1.构造方法的特点?
                (1)构造方法主要作用是给对对象的属性进行初始化
                (2)方法名与类名完全一致,没有返回值类型,连void都没有
                (3)构造方法也是方法,只是比较特殊,是在创建对象后马上调用,后期不能单独调用,既然是方法,就可以重载
                        a.方法名相同
                        b.参数列表不同(数量不同,顺序不同,类型不同)
                        c.与返回值类型无关
                (4)如果自定义类中没有提供构造方法,系统将自动提供一个无参构造方法,如果我们给出了构造方法,系统将不再提供默认的无参构造方法,要想再使用空参构造,必须显示给出
        2.java中创建一个对象的过程?
                (1)将类的字节码文件加载进内存
                (2)声明一个该类类型引用s
                (3)在堆内存创建对象,
                (4)给对象中属性默认初始化值
                (5)属性进行显示初始化
                (6)构造方法进栈,对对象中的属性赋值,构造方法弹栈
                (7)将对象的地址值赋值给s
        3.谈谈你对static关键字的理解?
                (1)被static关键字修饰的成员,属于该类中所有对象的共享内容可以直接用类名调用,也可以用对象调用,但是建议用类名调用
                (2)随着类的加载而加载,优先于对象存在:随着字节码文件的加载而加载的,那时候还没有对象呢
                (3)静态修饰的内容一般我们称其为:与类相关的,类成员(静态变量:类变量,静态方法:类方法)
                (4)在静态方法中是没有this关键字的(因为this指的是一个具体的对象,而静态在加载到内存时还没有具体的对象)
                (5)静态方法只能访问静态的成员变量和静态的成员方法,非静态的成员方法既可以方法静态的成员方法和成员变量,又能访问非静态的成员方法和成员变量
                        简单记忆:静态不能访问非静态
        4.静态变量和成员变量的区别?
                (1)所属不同
                        a.静态变量属于类,所以也称为为类变量
                        b.成员变量属于对象,所以也称为实例变量(对象变量)
                (2)内存中位置不同
                        a.静态变量存储于方法区的静态区
                        b.成员变量存储于堆内存
                (3)内存出现时间不同
                        a.静态变量随着类的加载而加载,随着类的消失而消失
                        b.成员变量随着对象的创建而存在,随着对象的消失而消失
                (4)调用不同
                        a.静态变量可以通过类名调用,也可以通过对象调用
                        b.成员变量只能通过对 象名调用




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2