总结
上午:

一:面向对象的概述:
 1.面向对象是符合人们思考方式的一种思想
 2.面向对象使复杂的事情简单化
 3.面向对象使一个人从执行者转变指挥者
 4.面向对象其实就是基于面向过程而来的

二:面向对象的三个过程:封装,多态,继承。
 
     类与对象:
 类:就是对现实事物的描述,是一组对象共性属性和行为的一个抽象。
 对象:就是事物实实在在存在的个体,


三:用类来描述并创建对象:其实就是 定义类中成员变量和成员函数;


创建对象:Car c =new Car();  c是类类型的变量,类类型变量一定指向对象,因为他是一个实体。
  对象.对象成员  
四:内存图:

 

 


下午:

变量类型:

1.成员变量:是定义在类中的,作用于整个类(存储在堆内存中,随着对象的存在而存在)
2.局部变量:在函数中,在语句中被定义,或者方法,当函数或者方法被调用执行时,变量才存在。

3.先分配空间,在对象中有默认初始化值,在类中定义的为显示初始化值,

4.在画图中产生的不清楚的小问题:
当在main()函数中c.run()方法被调用完自动消失,因为run方法定义在栈内存中,调用完后自动消失,

堆内存里的成员变量只要有指向此对象的栈内存的变量指向,是不会消失的, 

5.匿名对象:是定义对象的一种简化形式:new Car().run(),当对象对方法进行一次调用的时候,可以使用匿名对象对代码进行简化。匿名对象只调用方法,因为匿名对象调用属性没意义。(因为赋完值后没有指向,就变成垃圾了)
关键字:Private,只能被本身类访问,不能被外部类访问,安全性提高,对外访问权限降低,所以要对外提供一个set 跟 get 方法,仅仅是封装的一种体现形式。只要类中有 权限 就用set(只做赋值功能)跟age方法。要是类中有只为该类提供方法,外部根本用不到,则此方法,可以用私有修饰。
6.构造函数:当类中没有定义构造函数时,系统会自动给该类加入一个默认的构造函数,当类中自定义了,这时默认的构造函数就没了,构造函数用来初始化对象

问:
类方法也是函数,函数调用函数,就是在函数中写被调用函数的名字+()+实参,
老师回答:
函数就是方法,方法就是函数一回事
7.this 的应用:
this 是一个对象的引用,也就是this在指向一个对象,也就是对象所在函数的所属对象的引用
(哪个对象调用这个方法,this就指向哪个对象)

每个方法里都有一个this,this就是一个地址值,它指向的是调用这个函数的对象的地址

1.用于函数被调用时
2.用于对象之间的比较
3.构造函数之间可以相互调用:构造函数之间的调用,this(30),为this语句,刚这个语句写在最前面时,代表调用此方法的对象先调用构造函数 中用于初始化30的构造函数,然后又调用自身的函数,


代码块问题:节约空间,
构造函数里的构造代码块可以给所有的