关于实例方法和实例变量的进一步说明:
一个类所有的实例调用的实例方法在内存只有一份拷贝,尽管在内存中有多个对象。
而实例变量在类的没个对象所在的内存中都存在一份拷贝,this变量允许相同的实例方法为不同对象工作。
每当调用一个实例方法时,this变量将被设置成引用该实例方法的特定的类对象。
方法 的代码接着会与this所代表的对象的特定数据建立关联。
关键字static
静态方法和静态变量是属于某一个类,而不属于类的对象。
静态方法和静态变量的引用直接通过类名引用。
静态方法中不能调用非静态方法和静态变量,反过来可以。
可以用类的对象去调用静态方法。
多态性
。在子类中可重写父类的方法--方法的复写。通过传递对象的引用,传递的是子类的对象,调用子类方法。传递的是父类的对象,调用父类方法。
内存的布局的想象。
super关键字的使用。调用父类的方法和变量。
包的概念
package语句必须在文件中的第一句
如果不加package,则为无名包或缺省包。
包对应着文件系统的目录层次结构。用.来指明目录结构。
import语句
包的引入
在同一个包中的类可以相互引用无需import语句
类的修饰符
public----跨包访问。
友好类是不能跨包被访问的。
final---最终类 ,不能被继承。
abstract---
方法的修饰符 public protected defaut private
public
private---封装在本类中,子类也不能访问。
protected-----在不同的包中的子类也能被访问
defaut---封装在包中
在不同包中只有public可以访问,除了protected修饰子类时-----在不同的包中的子类也能被访问
在不同的包中的不同的类,只要public方法可以访问。
其他方法:
static
final----不能被覆盖
abstract
native
synchronized
public protected default private
同类 ok ok ok ok
同包 ok ok ok
子类 ok ok
通用性 ok
(无关的两类)