1. 面向对象:不关心具体步骤,分工明确,各自完成任务。面向过程:每一步都关注。
2. 类:1>相关 属性(n.事物的信息etc.名字、体重)和 行为(v.事物的用途stc.走、跑)的集合;
2>类与对象的关系:类是对象的抽象体现,对象是累的具体体现;实例化 = 创建;
3>成员变量:区别一般的属性,它直接写在类中;成员方法:区别一般方法(行为),它没有static。
3.对象的创建和使用步骤:1>导包import:指出对象所属类所在的包;当前类和所属类属于一个package时,可省略;
2>实例化对象(创建对象):类名 对象名 = new 类名( );//创建格式
3>使用:<1>使用成员变量:对象名.成员变量名 //用谁就点谁的名(不赋值就输出默认值)
<2>使用成员方法:对象名.成员方法名(参数) //用谁就点谁的名
4. 内存图:1>一个对象的内存图:
2>两个对象使用同一方法的内存图:
4>使用对象类型作为方法参数:作为参数传递到方法里的对象,传递的是方法值。
5>使用对象类型作为方法返回值:返回的是方法的地址值。
5.变量:1>局部变量:<1>在方法内部;
<2>只在作用域方法内使用;
<3>无默认值,需手动赋值;
<4>位于栈内存;
<5>生命周期跟着方法走。
2>全局变量:<1>直接写在类之中,在方法外面;
<2>在整个类里都能使用;
<3>有默认值,不需要手动赋值;
<4>位于堆内存;
<5>生命周期跟着对象走。
6.面向对象的语言三大特性:封装性;继承性;多态性。
封装性:将细节隐藏,外界不可见。1>方法;
2>关键字private:<1>放在成员变量之前;
<2>要间接访问private的成员变量,用一对setter/getter;
<3>对于boolean的getter()要写成isXxxx()。
7.关键字this(在重名的时候构造方法):方法的局部变量与成员变量重名,就近原则,优先识别为局部变量,这时候 this.成员变量可以区分二者;通过谁调用的方法谁就是this。
8.构造方法:1>定义:用来创建对象,new实例化对象时就是在调用构造方法;
2>格式:public 类名(参数类型 参数名称){
方法体
}
3>注意事项:<1>构造方法的名称必须与类名相同,大小写也是;
<2>不写返回值类型包括void;
<3>不能return一个具体的返回值;
<4>组成:成员变量 - 无参构造方法 - 全参构造方法 - setter/getter。
9.标准的类:1>组成:<1>成员变量用private修饰;
<2>每个成员变量配置一对setter/getter;
<3>一个无参构造方法;
<4>一个全参构造方法。