1.
关于成员变量与局部变量。(注:代码块中的变量属于局部变量)
a.定义位置
- 局部变量:方法内部或代码块内
- 成员变量:方法外,类的最外层。
b.作用范围 - 局部变量:当前方法中或代码块内
- 成员变量:当前类中
c.默认值 - 局部变量:无
- 成员变量:不赋值会有默认值,规则与数组默认值相同
d.内存位置 - 局部变量:栈内存中
- 成员变量:堆内存中
e.生命周期 - 局部变量:同当前方法进\出栈内存而生成\销毁
- 成员变量:同当前类的对象创建\回收而生成\销毁
2.
抽象类与抽象方法:
3.
Java特性 - 封装:Java的封装主要由几种权限修饰符限制成员变量和成员方法实现然后通过对应接口完成实现类进行方法,这种特性使得Java代码安全性得到保证并且代码更加层次分明。
- 继承:Java的继承其实就是从一个初始的类扩展出各具特色的其它类的过程,继承解决了Java中共性抽取的问题,使得Java程序便于扩展。在继承中,所有子类都有来自父类的共性变量或者方法,而各个子类又可以拥有自己专有的内容。(父类也称为基类或者超类,子类也称为派生类)
- 多态:多态其实就是同一个行为具有多个不同表现形式或形态的能力。多态使得Java程序灵活多变。多态的存在是依赖继承的,没有继承就没有多态。因为多态存在需要三个必要条件:继承、重写、父类引用指向子类对象。一般情况下 ,在Java程序中父类引用指向子类对象或者子类重写父类方法,在父类引用指向子类对象这种形式中,该引用只能调用父类中定义的方法和变量,即不能使用子类特有方法。但是如果子类重写了父类中的一个方法,那么在调用这个方法的时候,将会调用子类中的这个方法,这被称为动态连接、动态调用。