目录
return关键字
如果方法的返回值类型不是void,就需要使用return关键字返回对应类型的返回值
this关键字 面试
this代表当前类的对象
当成员变量与局部变量同名时,可以使用this指定本类的成员变量,如果不使用this指定,打印的就是近处的这个局部变量,就近原则
在无参构造中,调用含参构造的功能;在含参构造中,调用无参构造的功能。调用是单向的,不能来回双向调用,否则会死循环
super关键字 面试
super代表当前类的父类对象
父类的成员变量与子类的成员变量同名时,可以使用super指定父类的成员变量
使用super()在子类构造方法的第一行调用父类构造方法的功能,默认存在
static关键字 享载调(想宰掉)
被static修饰的资源称为静态资源
1.static可以修饰类、方法、变量,不能修饰构造方法
static 方法能不能是抽象的abstract,也不能被重写
2.静态资源随着类的加载而加载,最先加载,优先于对象进行加载——所以静态区域内不允许使用this与super关键字
3.静态资源可以 通过类名直接调用 ,也被称作类资源;静态资源只能调用静态资源
4.静态被全局所有对象共享,值只有一份
静态变量和实例变量的区别
在语法定义上的区别:静态变量前要加static关键字,而实例变量前则不加。
在程序运行时的区别:
1、静态变量则可以直接通过类名来使用
2、实例变量属于某个对象的属性,必须创建对象后才可以通过这个对象来使用
final关键字 面试
final可以修饰类、方法、变量、常量;不能修饰构造方法
final修饰的类不可以被继承;
final修饰的方法不可以被重写;
final修饰的变量,引用变量不能变,引用变量所指向的对象中的内容还是可以改变的。
final修饰的常量值不可以被更改,并且常量定义时必须赋值 final int B = 100;
final,finally,finalize()区别?
final:如上
finally:
异常处理时
1、无论是否抛出异常,finally 代码块总是会被执行。
就算是没有 catch 语句同时又抛出异常的情况下,finally 代码块仍然会被执行。
2、finally 代码块主要用来释放资源,比如:I/O 缓冲区,数据库连接
finalize():
几个访问/权限修饰符关键字
java访问修饰符有哪些?权限的区别?
public(公共) 同类,同包,子类,其他包
protected(保护型) 同类,同包,子类
default (默认) 同类,同包
private (私有) 同类
null关键字
NULL 这个值表示 UNKNOWN(未知),它不表示“”(空字符串)。
不能把任何值与一个 NULL 值进行比 较。 对 NULL 这 个值的任何比较都会生产一个 NULL 值
使用 IS NULL 来进行 NULL 判断
abstract关键字
abstract可以修饰类、方法;不能修饰构造方法
抽象类:见接口和抽象类区别
抽象方法:抽象方法——需要子类被重写
一旦一个类中包含了抽象方法,那么这个类必须被声明成一个抽象类
抽象方法没有方法体{ }