一些Java细节知识

final方法可以重载不能重写
所有的private方法都被隐含是final的
final类的成员方法没有机会被覆盖,默认都是final的
final变量只能在两个地方定义:初始化时和构造函数(二选一)
采用new创建对象,对象名是实际对象的引用
String用=初始化现在栈中的常量池先查找再初始化,用new则是在堆中直接开辟空间。
static变量 初始化时和全局变量一同在全局区初始化
static方法 不直接能访问本类中的非静态成员,//非静态可以先创建实例。
static代码块是类加载时初始化自动执行,按照它们在类中出现的先后顺序依次执行
finalize() 方法是在垃圾收集器删除对象之前对这个对象调用的
java中普通变量自动初始化,数值变量初始化为0,其他为空。
子类中的静态方法不会覆盖父类中的静态方法,只是隐藏。普通方法则是覆盖
类的引用指向子类时,当用到方法(除静态方法)时,调用的是子类的对象.当用到属性时,用到的是父类对象.
静态绑定 程序运行前方法已经由编译器绑定;由final,static,private的方法、构造方法以及字段是前期绑定(静态绑定)
动态绑定 程序运行过程中动态绑定需要被执行的方法。除上述方法以外的方法均属于动态绑定
abstract可以有自己的数据成员,也可以有非abstarct的成员方法,interface只能够有static final数据成员,所有的成员方法都是public abstract的。
interface的方法不能有默认实现,只有一个申明,而abstract class内申明abstract的方法不能有实现,非申明abstract的方法可以有默认实现。 
interface被implements时,所有方法都必须被实现,必须申明是public的,而abstract class被extends时只有abstract的方法才必须被实现,别的有默认实现的直接被继承过来。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值