一.成员变量与局部变量的区别
1.作用域不同
局部变量的作用域仅限于定义它的方法
成员变量的作用域在整个类内部都是可见的
2.初始值不同
成员变量有默认的初始值
局部变量没有默认初始值,必须自行设定初始值
3.存储位置不同
成员变量是在对象创建以后存在于堆中,对象回收时,成员变量消失
局部变量是在方法被调用时存在于栈中,方法执行结束,从栈中清除
4.生命周期不同
对象的创建而创建,对象回收时,成员变量消失
随着方法的调用被创建,方法执行结束,从栈中清除
二.final
byte、short、char类型的任意两个数据想要进行运算操作,都会先转换成int类型,再进行运算操作。final修饰的变量例外。
三.1.从Java8开始,接口当中允许定义静态方法
2.在抽象类中可以构造方法,只是不能直接创建抽象类的实例对象,但实例化子类的时候,就会初始化父类,不管父类是不是抽象类都会调用父类的构造方法,初始化一个类,先初始化父类。
3.子类中不能覆盖父类中声明为static的方法
4.全部成员变量可以直接被static、final同时修饰
四.关于被私有访问控制符private修饰的成员变量
其成员变量只能被该类自身所访问和修改
五.方法重载
1.方法重载要求方法名称必须相同
2.重载方法的参数列表必须不一致
3.重载方法的返回值类型不一定一致
4.一个方法在所属类中未必只能被重载一次
六.构造方法
1.构造方法的名字必须与类名相同
2.没有返回值类型,设置成void也不行
3.创建对象时由编译器自动调用,并且在对象的生命周期内只调用一次(相当于每个人的出生,每个人只能出生一次)
4.构造方法可以重载(用户可以根据自己的需求提供不同参数的构造方法)
5.如果用户没有显式定义构造方法,编译器就会默认生成一份构造方法,而且默认生成的构造方法一定是无参的
6.构造方法中,可以通过this调用其他的构造方法来简化代码(this()必须是构造方法中的第一条语句 ,且this不能形成环)
七.Java中Break,Continue,Return的区别及作用
break跳出总上次循环,不再执行循环(结束当前的循环体)
continue跳出本次循环,继续执行下次循环(结束正在执行的循环,进入下一次循环条件)
return程序返回,不再执行下面的代码(结束当前的方法,直接返回)
八.Java普通类和抽象类有哪些区别
普通类不能包含抽象方法,抽象类可以包含抽象方法
抽象类不能直接实例化,普通类可以直接实例化