Java 基础部分

静态变量和实例变量的区别:

语法上:静态变量前面要加static,实例变量不用加

运行时的区别:实例变量属于某个对象的属性,需要创建实例才可以被分配空间,进而使用这个对象。而今天变量属于这个类,也就是类变量,不需要创建实例就可以直接调用

实例对象通过创建对象来调用,而静态变量通过类名来调用

static方法是否可以从内部发出对非static方法的调用?

  不可以,非静态需要创建对象才能通过这个对象进行方法调用,而static直接通过类名进行调用,如果static方法里面有非static直接调用,那么调用这个static方法就不知道是关联在哪个对象了,所以不能;

重载(overload)和重写(override)的区别?

重载是在同一类中,方法名相同但是参数个数不同或者参数类型不同,重写是在子类继承父类中,重新写了父类的一些同名(同参数)方法,也就是覆盖了父类的方法。能否通过返回类型不同来确定是重写和重载,不能,重载必须要求参数列表不同

三大特性:封装继承多态

封装:将数据和数据的操作方法绑定起来,对数据的访问只能通过已定义的接口。

继承:在定义和实现一个类的时候,可以通过在已有类的基础上进行。

多态:声明使用父类实际实现或者调用的是子类;

final, finally,finalize的区别

final,声明属性,方法,类,属性不可变,类不可继承,方法不可重写

finally:异常处理中的语句,表示总是执行。

finalize:垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集是其他资源回收,

原文地址:https://www.cnblogs.com/yq12138/p/7201108.html