A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 LiuYongqiang 于 2016-4-20 00:37 编辑

java基础知识---面向对象(一)
1.面向对象?
        1、面向对象是基于面向过程,面向对象强调的对象,面向过程强调的是过程(函数)。
        2、聊到面向对象,不得不提的就是它的三个思想特点:
                        A:更符合咱们人们的思考习惯。
                        B:把复杂的事情变得简单化。
                        C:把程序员从执行者变成了指挥者。
2.面向对象三大特征(封装,继承,多态)
3.Java描述事物最基本的单位是类,计算机最基本的存储单位是字节,四个最小...
4.类是什么?
类,对象,成员变量,成员方法?
类: 属性和行为的集合,一个抽象的概念。
                对象:类的具体体现,实现。
                属性(成员变量):名词,用来描述事物身上的信息的
                        和以前咱们写局部变量一样,只不过位置发生改变,现在写在类中,方法外。
                行为(成员方法):动词,事物能做什么
                        和以前咱们定义方法是一样的,先把static去掉。
5.成员变量与局部变量的区别
        局部变量和成员变量的区别:
        1、在类中的定义位置不同。
                局部变量:方法中,或者方法形参上。
                成员变量:类中,方法外。
        2、在内存中的存储位置不同。
                局部变量:栈
                成员变量:堆
        3、生命周期不同。
                局部变量:和方法相关。
                成员变量:和对象相关。
        4、初始化值不同。
                局部变量:没有默认值,必须先定义,在赋值,然后才能使用。
                成员变量:有默认值。
                        整型:0
                        浮点型:0.0
                        字符:'\u0000'
                        布尔:false
                        引用类型:null
静态变量和成员变量有哪些区别:
        1、所属不同。
                静态变量:类。 类变量。
                成员变量:对象。 对象(实例)变量。
        2、在内存中的存储位置不同。
                静态变量:静态区。
                成员变量:堆。
        3、在内存中的出现时机不同:
                静态变量:类加载。
                成员变量:对象的创建。
        4、调用方式不同。
                静态变量:类名. 或者是  对象名.
                成员变量:只能通过 对象名. 的方式来调用。
6.匿名对象的应用场景?
        A:当对 对象(成员)方法仅调用一次的时候。
        B:匿名对象可以作为实际参数进行传递。
7.封装?封装就是private,这句话对吗?
        概述:隐藏对象的属性和实现细节,仅对外提供一个公共的访问方式。
36.this与super的区别?调构造方法的区别?
        this:代表本类当前对象的引用。
        super:当前对象父类的引用。
        调用构造方法:
        this( 参数 )        : 调用本类的其他构造
        super( 参数 )        : 调用的父类的其他构造
8.Java中参数传递问题?Java中只有值传递,引用传递传递的也是地址值,地址值也是值
9.构造方法格式特点?
                1、方法名和类名完全一致。(包括大小写)
                2、没有明确的返回值类型。(注意,连void都没有)
                3、没有明确的返回值。(可以有return)
10.说明一个对象的创建过程做了哪些事情?
                1、通过类加载器把 Student类的字节码文件对象(.class文件)加载到内存中。
                2、在栈的main函数中创建一个 学生类的引用s,等待接收堆中传过来的地址值。
                3、看到new以后,会去向堆内存申请开辟空间。
                4、成员变量进堆,系统给出默认值,同时,成员方法进方法区,有类名做标记,然后和堆中的地址做关联。
                5、执行显示初始化,对成员变量进行赋值(如果有)。
                6、构造方法进栈,对成员变量进行初始化,完了以后构造方法弹栈,至此,对象创建完毕。
                7、把堆中,对象的地址值 给 栈中的学生类的引用s。







3 个回复

倒序浏览
谢谢了,太给力了
回复 使用道具 举报
感谢分享~
回复 使用道具 举报
赞一个!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马