Java基础---面向对象(下)

static关键字

       当我们编写一个类时,其实就是在描述其对象的属性和行为,而并没有产生实质上的对象,只有通过new关键字才会产生出对象,这时系统才会分配内存空间给对象,其方法才可以供外部调用。我们有时候希望无论是否产生了对象或无论产生了多少对象的情况下,某些特定的数据在内存空间里只有一份,例如所有的中国人都有个国家名称,每一个中国人都共享这个国家名称,不必在每一个中国人的实例对象中都单独分配一个用于代表国家名称的变量。
Java基础---面向对象(下)
Java基础---面向对象(下)
Java基础---面向对象(下)
Java基础---面向对象(下)
Java基础---面向对象(下)
类变量vs 实例变量内存解析
Java基础---面向对象(下)
静态变量的内存解析
Java基础---面向对象(下)

单例设计模式

Java基础---面向对象(下)
饿汉式
Java基础---面向对象(下)
懒汉式

Java基础---面向对象(下)
Java基础---面向对象(下)
应用场景
Java基础---面向对象(下)

代码块

Java基础---面向对象(下)
Java基础---面向对象(下)
Java基础---面向对象(下)
Java基础---面向对象(下)

final关键字

Java基础---面向对象(下)
Java基础---面向对象(下)
Java基础---面向对象(下)
Java基础---面向对象(下)
Java基础---面向对象(下)

抽象类与抽象方法

Java基础---面向对象(下)
Java基础---面向对象(下)
Java基础---面向对象(下)
Java基础---面向对象(下)
Java基础---面向对象(下)

接口(interface)

Java基础---面向对象(下)
Java基础---面向对象(下)
Java基础---面向对象(下)
Java基础---面向对象(下)
Java基础---面向对象(下)
Java基础---面向对象(下)
Java基础---面向对象(下)
Java基础---面向对象(下)
Java基础---面向对象(下)

代理模式(Proxy)

Java基础---面向对象(下)
Java基础---面向对象(下)

接口和抽象类之间的对比

Java基础---面向对象(下)

内部类

Java基础---面向对象(下)
Java基础---面向对象(下)
Java基础---面向对象(下)
Java基础---面向对象(下)