Java 是完全面相对象的语言,这样的好处就是能把现实世界中的事物都抽象成对象.这也符合人类的思维习惯.有利于对复杂程序的编写.同时也说明Java中的任何成员都不能离开对象单独存在.
面向对象的核心机制就是封装,继承,多态.
一:类与对象
类是描述一个事物的抽象概念,它描述了事物的静态和动态属性.
对象就是类的一个具体实例.
二:类的五种关系
关联,(has a) 继承(is a) 聚合(is one of) 组合(is a part of) 依赖(use a )
三:类的内存分析
Java中除了基本数据类型以外,都是引用类型,其中对象就是通过引用对其操作的.
类是静态的概念,对象是通过new出来的,位于堆(heap)中.类的每个成员变量再不同的对象中有不同的值(静态除外).方法只有一份,执行时才占用内存.
四:构造函数
使用new+构造函数创建对象.无构造函数的默认为:类名(){}
子类必须重写父类的构造函数.子类继承父类后默认继承父类的构造函数,即:子类存在隐含方法:super(),如果子类重写构造函数则子类也隐含调用super()。
子类可以在自己的构造方法中使用super(参数列表),调用基类的构造方法
使用this(参数列表)调用本类以外的构造方法,如果调用super,必须在构造方法的第一行写
无显式声明的,默认调用基类无参数构造方法.
五:方法重载
类中可以定义方法名称相同,参数个数不同,或者参数类型不同的方法.(注意返回值不同不可以)
六:static静态成员
static成员在第一次使用时初始化,对于该类的对象来说只存在一份.且存在在内存的data segment中
七:包(package)
解决了多项目中类名冲突问题
声明包: 源文件第一句中:package pk1.pk2.pk3… 其中.代表文件目录
使用包:importpk1.pk2.pk3…
注意class文件的最上层文件位于环境变量的:classpath下
JDK提供了大量的包