面试遇到的问题:
final,static修饰的方法是否可以被重写?
final本身定义就是不能被继承,更谈不上重写了
static修饰的方法可以被继承不可以被重写
final:java关键字,表示最终的,不可变的。可修饰变量、方法、类
1.修饰类的话,类不可继承(extends),String 类就不可继承
2.final修饰的方法无法被重写
3.final修饰的变量只能赋一次值
final修饰的变量是引用只能指向一个对象但是对象内的变量值可以修改,eg:stu.age=18
final static 一起修饰为常量
static:静态的,用它修饰,表示是类级别的,不是对象级的(有几个对象就保留几份-堆),用static修饰的在内存中只保留一份(方法区)
1.static修饰方法是静态方法
2.static修饰变量是静态变量
3. static定义静态代码块
//静态代码块
static
{代码}
在类加载时执行并且只执行一次,通常在静态代码块中完成预备工作,比如初始化连接池,解析xml配置文件
//在类创建的时候就执行
实例化代码块:
{代码}
什么时候变量声明为静态变量?
所有对象都有这个属性,并且所有对象的这个属性值是一样的
类加载的时候初始化,内存在方法去开辟,用类名.属性名的方式调用
什么时候方法声明为静态方法?
当所有对象都执行这个动作的时候,可以将这个动作升级为类级别的动作
版权声明:本文为m0_44946030原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。