1:代码块是什么?代码块的分类和各自特点?
代码块是:在Java中,使用{}括起来的代码被称为代码块。分类:局部代码块,构造代码块,静态代码块,同步代码块特点:局部代码块:在方法中出现;限定变量生命周期,及早释放,提高内存利用率构造代码块 (初始化块):在类中方法外出现;多个构造方法中相同的代码存放到一起,每次调用构造都执行,并且在构造方法前执行静态代码块: 在类中方法外出现,并加上static修饰;用于给类进行初始化,在加载的时候就执行,并且只执行一次。2:静态代码块,构造代码块,构造方法的执行流程?
首先执行主方法类中的静态代码块,再执行主方法,再执行静态代码块,再执行构造代码块,然后执行构造方法。3:继承概述
让类与类之间产生关系,子父类关系4:继承的好处
继承的好处:1.提高了代码的复用性2.提高了代码的维护性3.让类与类之间产生了关系,是多态的前提5:Java中继承的特点
1.ava只支持单继承,不支持多继承2.Java支持多重继承6:Java中继承的注意事项?以及我们什么时候使用继承?
Java中继承的注意事项:子类只能继承父类所有非私有的成员(成员方法和成员变量) 子类不能继承父类的构造方法,但是可以通过super(马上讲)关键字去访问父类构造方法。 不要为了部分功能而去继承7:继承中的成员访问特点 A:成员变量 在子类方法中访问一个变量 B:成员方法 在测试类中通过子类对象去访问一个方法8:继承中构造方法的执行流程?假如父类没有无参构造方法,子类应该怎么办?
静态代码块在使用类时执行。 普通代码块在创建对象时执行。 父类的静态代码块>子类静态代码块>父类的代码块>父类的构造方法>子类的代码块>子类的构造方法 在创建子类时,先调用父类的构造方法先创建父类的实例,在创建子类的实例。如果父类有无参构造方法,子类可以不显式调用super(),如果没有无参构造方法,必须手动显式调用super(),否则报编译错误
9:面试题: 方法重写和方法重载的区别?方法重载能改变返回值类型吗? Overload 重载 Override 重写方法重写和方法重载的区别
1)重写一般发生在父子之间,重载一般在同一个类中。2)重写要求方法名,返回值类型,参数列表必须与父类相同,并且修饰符范围大于等于父类方法的修饰符范围。
重载方法名相同,参数列表不同,与返回值类型及修饰符无关。
3)作用不同
重载主要是为了提供一种同名方法不同参数的能力(可以让一个类用于多个同名的方法)
重写主要是为了结合多态使用,提高程序扩展性和可维护性。
方法重载不能改变返回值类型
this关键字和super关键字分别代表什么?以及他们各自的使用场景和作用。 this关键字:代表当前对象的引用,谁来调用我,我就代表谁 super关键字:代表当前对象父类的引用this关键字作用:
1,使用this调用本类中的属性。 2,使用this调用构造方法。 3,表示当前对象super关键字作用
1,在子类中调用父类的属性和方法 2,在子类中调用父类的构造方法。10:继承案例练习
11:final关键字可以干什么?有什么特点?
12:final关键字的面试题?
A:修饰局部变量 B:初始化时机