黑马程序员--Java基础学习笔记【二维数组、面向对象】

 

 ------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------    

 

  • 二维数组

元素为一维数组的数组,数组存储的还是数组 int arr[] = { 数组 }

定义格式:

    数据类型[][] 变量名 = new 数据类型[3][2];

    数据类型[][] 变量名 = new 数据类型[3][]; // 每个小数组的长度不确定

    数据类型[][] 变量名 = new 数据类型[][] { { },{ , },{ , , } };

    简化格式:数据类型[][] 变量名 = { { },{ , },{, , } };

    注意两种不同的定义格式:

        int[] x, y[]; // x 是一维数组,y 是二维数组

        [] 跟随数据类型,所有变量都拥有

        [] 跟随变量走,只有该变量自己拥有

遍历二维数组

    int[][] array= { { 1, 2 }, { 3, 4 }, { 5, 5 } };

    // 先遍历外面大数组,遍历过程中,遍历里面小数组

    for (inti = 0; i < array.length; i++) {

       //内循环是小数组的长度j < array[i].length

       for (intj = 0; j < array[i].length; j++) {

           System.out.println(array[i][j]);

       }

    }

 

  • 面向对象

面向对象开发:创建对象,使用对象,指挥对象做事情

面向对象设计:管理和维护对象之间的关系

面向对象三大特征:封装 encapsulation、继承 inheritance、多态 polymorphism

  • 类和对象:

类是描述用来描述现实生活中具体事物的抽象描述,描述的是事物的属性和行为的集合体

对象是确实存在的事物

类和对象的关系:

    类是一组相关的属性和行为的集合,是抽象的概念

    对象是该类食物的具体体现,是对类的一种具体化

类的定义:

1.  class类名{

2.     成员变量类型变量名称;

3.     … … …

4.     返回值类型方法名称(参数列表){

5.          方法体………

6.      }

7.      …… …

8.  }

 

    定义类就是定义类的成员(成员变量和成员方法,又叫属性和行为)

    成员变量:描述类所具有的特征

    成员方法:描述类能够实施的行为

  • 创建并使用对象

    使用 new 关键字创建对象,创建对象的过程通常称为实例化 格式:new 类名();

引用类型变量:为了能够对实例化的对象进行访问控制,需要使用一个特殊的变量――引用。

    引用类型变量可以存放该类对象的地址信息,通常称为“指向该类的对象”;当一个引用类型变量指向该类的对象时,就可以通过这个变量对对象实施访问。

除8种基本类型之外,用类、接口、数组等声明的变量都称为引用类型变量,简称“引用”。

    Student stu = new Student(); //stu 就是引用,指向创建的对象“newCell()”;

    通过引用访问对象的成员变量、调用方法

    stu.name = “张三”;

    stu.age = 22;

    stu.study();

  • 引用类型变量的赋值:

引用类型变量存储的是对象的地址信息。相同类型的引用类型变量之间也可以相互赋值。

    引用类型变量之间的赋值不会创建新的对象,但会使两个以上的引用指向同一个对象。

    Student stu1 = stu;

// 将 stu 的值(对象的地址信息)赋给 stu1,stu1和stu指 向相同的对象

stu1.name = “李四”;

// 通过引用 stu 和 stu1 操作的是相同的对象

  • 成员变量和局部变量的区别

    定义上:

        成员变量 定义在类中

        局部变量 定义在方法中

    作用域:

        成员变量 整个类中

        局部变量 方法中或者语句中

    内存位置:

        成员变量 跟随对象,进入堆内存存储

        局部变量 跟随方法,进入栈内存存储

    生命周期:

        成员变量 跟随对象的存在而存在,随着对象的消失而消失,生命相对较长

        局部变量 一旦方法或者语句结束,变量就消失,生命最短

    初始化值:

        成员变量 都有默认值

        局部变量 没有默认值,必须手动赋值

  • 匿名对象 没有变量名(引用)的对象       格式:new Student();

匿名对象可以调用成员,只能使用一次,但是可以当作参数传递

封装 隐藏对象的属性和实现细节,仅对外提供公共访问方式

    好处:提高安全性;提高代码复用性;隔离变化和隐藏内部实现细节。

实现封装

  • private 关键字权限修饰符 修饰的成员只能在本类中访问

修饰类的成员,不能修饰方法的局部;提供 get set 方法

  • this 关键字 代表所在类的对象引用区分成员变量和方法中的参数重名的情况

this 关键字用在方法体中,用于指向调用该方法的当前对象,简单说,哪个对象调用方法,this值得就是哪个对象。

  • 对成员变量赋值的几种方式:定义变量直接赋值,set 方法赋值,对象调用赋值


你可能感兴趣的:(二维数组,面向对象)