黑马程序员技术交流社区

标题: 学习 [打印本页]

作者: 纤路    时间: 2016-1-24 23:33
标题: 学习
1:代码块是什么?代码块的分类和各自特点?
A:代码块概述:在Java中,使用{}括起来的代码被称为代码块。
B:代码块分类
    根据其位置和声明的不同,可以分为局部代码块,构造代码块,静态代码块,同步代码块(多线程讲解)。
C:常见代码块的应用
        * a:局部代码块
                * 在方法中出现;限定变量生命周期,及早释放,提高内存利用率
        * b:构造代码块 (初始化块)
                * 在类中方法外出现;多个构造方法方法中相同的代码存放到一起,每次调用构造都执行,并且优先于构造方法前执行
        * c:静态代码块
                * 在类中方法外出现,并加上static修饰;用于给类进行初始化,在加载的时候就执行,并且只执行一次。
                * 一般用于加载驱动

2:静态代码块,构造代码块,构造方法的执行流程?
静态代码块随着类的加载而被执行
构造代码块随着对象的建立而执行并优先于构造方法

3:继承概述:让类与类之间产生关系,子父类关系

4:继承的好处:
        * a:提高了代码的复用性
        * b:提高了代码的维护性
        * c:让类与类之间产生了关系,是多态的前提
* B:继承的弊端
        * 类的耦合性增强了。

5:Java中类的继承的特点:不支持多继承,但支持多层继承

6:Java中继承的注意事项?以及我们什么时候使用继承?
        * a:子类只能继承父类所有非私有的成员(成员方法和成员变量)
        * b:子类不能继承父类的构造方法,但是可以通过super(马上讲)关键字去访问父类构造方法。
        * c:不要为了部分功能而去继承

7:继承中的成员访问特点
        A:成员变量
                在子类方法中访问一个变量
        B:成员方法
                在测试类中通过子类对象去访问一个方法

8:继承中构造方法的执行流程?假如父类没有无参构造方法,子类应该怎么办?
1;父类先进行初始化在进行子类的初始化所以先执行父类的构造方法,在执行子类的构造方法
2.若父类中没有无参构造,则子类需要手动进行制定父类构造函数(this() 或 super())
9:面试题:
        方法重写和方法重载的区别?方法重载能改变返回值类型:
        Overload:本类中出现了函数名一样,参数列表不一样的方法.与返回值类型无关
        Override:在子类中出现了和父类一模一样的方法,与返回值类型有关(或者是子父类关系的)

this 关键字和super关键字分别代表什么?以及他们各自的使用场景和作用。
        * this:代表当前对象的引用,谁来调用我,我就代表谁
        * super:代表当前对象父类的引用
        * A:this和super都代表什么
this和super的使用区别
        * a:调用成员变量
                * this.成员变量 调用本类的成员变量,也可以调用父类的成员变量
                * super.成员变量 调用父类的成员变量
        * b:调用构造方法
                * this(...)        调用本类的构造方法
                * super(...)        调用父类的构造方法
        * c:调用成员方法
                * this.成员方法 调用本类的成员方法,也可以调用父类的方法
                * super.成员方法 调用父类的成员方法
10:继承案例练习
11:final关键字可以干什么?有什么特点?
*
        * 修饰类,类不能被继承
        * 修饰变量,变量就变成了常量,只能被赋值一次
        * 修饰方法,方法不能被重写

12:final关键字的面试题?
        A:修饰局部变量:只能被赋值一次;
        B:初始化时机:1.显示初始化2.在对象构造完毕之前即可




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