一、二维数组
二维数组格式:int[] [] arr=new int [3][2];
访问二维数组:
Arr直接访问二维数组
Arr[0]直接访问二维数组中角标为0的一维数组
Arr[0][0] 直接访问二维数组中角标为0的一维数组中角标为0的元素
引用型类型默认初始化值是null
二、面向对象
1.概念:
面向过程强调的是功能行为。
面向对象将功能封装进对象,强调具备了功能的对象。
面向对象是基于面向过程的。是一种思想。
思想特点:符合人思考习惯的一种思想;由复杂变简单、由执行者变指挥者。
PS:我要达到某种目的(结果),就寻找能帮我达到该结果的功能对象。如:我要对手机充电,我只需要插上充电器即可,无须了解充电原理。
特征:封装、继承、多态
创建类的方法:名词提炼法
2.类和对象的关系
类:对现实世界中某种事物的描述,是抽象的,概念上的定义。
对象:事物具体存在的个体。
解释:定义类,就是在描述事物,在定义属性和行为。描述事物其实就是在描述事物的属性和行为。
属性对应的是类中的变量,行为对应的是类中的函数(方法)。属性和行为共同成为类中的成员(成员变量和成员方法)。
类类型变量指向对象。
类与对象之间的关系?
类是事物的描述。对象是对该类事物的实例,通过new来创建的。
3.成员变量和局部变量的区别
成员变量定义在类的内部。成员变量赋初值必须与成员变量的声明写在同一条语句中,因为类的内部不允许直接出现执行语句。
1,成员变量定义在类中,整个类中都可以访问。
局部变量定义在函数,语句,局部代码块中,只在所属的区域内有效。
2,成员变量存在于堆内存的对象中
局部变量存在于栈内存的方法中
3,成员变量随着对象的创建而存在,随着对象的消失而消失。
局部变量随着所属区域的执行而存在,随着所属区域的结束而结束
4,成员变量都有默认初始化值。
局部变量没有默认初始化值。
使用变量时,遵循就近原则。首先在局部范围找,有就使用;接着在成员方法里找,有就使用若成员位置没有,就报错。
给成员变量赋值的三种方式:1)直接定义的时候赋值,或通过对象名.成员赋值
2)通过set方法类赋值
3)在构造函数中赋值(在实例化对象的时候赋值)
4.匿名对象
匿名对象是没有名称的对象,是对象的一种简写形式。
应用:1)只调用一次类中的方法。如果多次调用,也不会报错,但是会在内存空间创建多个对象,却都没有名字。没有意义。
2)可以作为实际参数在方法传递中使用。
格式:new 类名(); 例如:new People();
用匿名对象调用属性没有意义,调用方法有意义,比较简化。
原因:当对对象的方法只调用一次时,可以用匿名对象来完成,这样写比较简化。如果对一个对象进行多个成员调用,必须给这个对象起个名字。
5.封装
5.1封装
封装是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。
优点:1.将变化隔离 2.便于使用 3.提高重用性 4.提高安全性
原则:将不需要对外提供的内容隐藏起来。
把属性都隐藏,提供公共方法对其访问。
封装不是私有(private),私有仅仅是封装的一种表现形式。
Getters访问器方法:仅访问成员变量而不对其修改的方法。方法名为“get成员变量名” ps:getName()
Setters更改器方法:对成员变量做出修改的方法。方法名为“set成员变量”。Ps:setName()
5.2private 关键字
注意:私有仅仅是封装的一种体现而已。
私有,权限修饰符;用于修饰类中的成员(成员变量,成员函数)。
被私有化的成员只在本类中有效。
注意:一个私有成员变量一般对应两个访问方式,一个更改器方法,一个访问器方法。
对外提供的方法:set()、get()。Set()方法的返回值类型一定是void。Get()方法的访问类型与获取变量的类型一致。
注意:私有方法只能在本类中被调用、使用。
Set方法一般有参数,get方法一般无参数。
------ Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------