面向对象的一个特征: 需要一系列完整的设计,同时取出所要用到的所有工具.
封装:
就是把内部的东西保护起来,不被外界所看到.
继承:
就是用于类的扩展
多态:
面向对象语言中最重要的.
类与对象中:
共性的称为类;
个性的称为对象.
必须先有人, 再有具体的人
(共性) ---> (个性)
人由什么组成? --> 程序
那程序又是由什么组成的呢?
特定的标识 ---------> 即 属性
一系列固定的方法 ---------------> 即 方法
其实 这里来看, 类与对象设计中 孰重孰轻 重点就在 当然就是类了!!!!!!!!!! 重点就是在累的设计上了
再说一个弱智点的问题:
是先有类的还是先有对象的, 当然是先有类了.........
总结如下了:
类是对象的一个模板, 而对象而是类的一个具体实现.
对象被创建之后, java 会自动为对象中的属性赋值, 如果是引用类型的话呢? 那就是赋值为null, 如果是基本类型的话呢?( 比如 int 类型 ,) 那就是 0 .
对象的产生式分两步进行的:
声明了一个对象, (栈内存中就开辟了一个内存空间)
Person person = null ;
实例化了一个对象, (对内存中就开辟了一个内存空间)
person = new Person();
new Person() 开辟了堆内存空间 , 使用权也随即给了 person .
如果我们只是 声明了一个对象, 即在栈内存空间中声明了这样一个对象, Person person = null ;
而没有去实例化这个对象的话, 也就是没有在堆内存中创建该内存空间, 在下面 , 该对象被使用的时候 就会报出一个 空指向异常 (NullPointerException) , 这就是因为对象没有被分配堆内存空间的后果