本帖最后由 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。   
 
 
 
 
   
 |