Java/数组/面向对象

一、数组

1、数组:可以存储多个元素并且多个元素是 同一种类型的容器

2、数组形式:int[] a;定义了一个int类型的数组变量a(常用)

 int a[] ;     定义了一个int类型 变量a数组

     这两种形式写法不同,读法不同,但是表达的效果是一样的,都是定义了一个数组。

3、数组的初始化

(1)动态初始化:  给数组指定长度,数组中的元素值由系统默认给定

egint[] a=new int[5];   定义了一个数组长度为5 的数组,角标从0-4

   int 初始化默认值为0,布尔类型的默认值为false...

(2)静态初始化:  给定数组中元素的,数组的长度由系统给定;

    eg :int[] b={1,2,4,5,6};   静态初始化了数组的元素,分别赋值。

4、数组中的异常

   ArrayIndexOutOfBoundsException:数组角标越界异常

   出现的原因:访问了数组中不存在的索引值;

   解决方案:观察数组中到底有索引值到多少;

   NullPointerException:空指针异常 (在实际开发中该异常是最多的)

   出现的原因:对象为null,而开发者还要去使用对象,就会出现问题

   解决方案:给某个对象进行非空判断,防止程序程序空指针异常  

OOM异常:OutOfMemory:内存溢出   

Android 解决加载大量图片的问题:图片加载器:ImageLoader等等

5、数组的遍历

5.1 基本遍历:  采用for()循环,运用数组的属性length;进一步改进运用方法。

               for(int x = 0 ; x < 5 ; x ++) {

                    System.out.println(arr[x]);

                     }

5.2 查找最值

   int max = arr[0](比较标准),然后for循环遍历,将标准与各个元素比较,然后输出。

5.3 查找指定元素(的索引)

   定义指定元素value,查找到第一次出现的索引,返回索引值,否则,返回-1.

5.4 数组逆序(reverse

   arr[x] = arr[arr.length-1-x] ;对调,直至最中间的元素(arr.length/2);

或者首尾交换:for(int start = 0,end = arr.length-1 ; start<=end ;start++,end --)

二、面向对象

  1、面向对象简介

面向对象

将事物看成XX,将事物对应的属性--->看成这个类的成员变量

            将事物对应的行为--->看成这个类的成员方法

思想的特征:

1)面向对象更符合我们的生活中的行为思想习惯

2)面向对象将我们从执行者变成了指挥者,指挥对象做事情

3)面向对象简单性体现在这里:让我们事情从复杂性--->简单化

面向过程:给一个需求,对需求分析,然后一步一步进行操作,最终得到某一个结果,整个过程

都是自己在完成....

2、匿名对象

就是创建对象的时候,没有名字的对象

eg:      System.out.println(new Student());

 new Student().name = "xxx" ;

注意:匿名对象在实际开发中,只用使用一次,不要使用多次(可能会造成一个内存溢出的现象);开发中经常使用。

3、形式参数

    class StudentDemo{

public void method(Student s) {//形式参数现在引用类型  

s.show();

} }

     StudentDemo sd = new StudentDemo() ;

 Student s = new Student() ;

 sd.method(s);

4、Private

    private:体现的也是一种封装思想

    封装:标准类的写法,将成员变量全部私有化,private修饰的成员变量只能在本类中访问,可以通过公共的访问方法去访问成员变量。

    private的用法:

      1)private修饰的只能在本类访问

      2)可以通过公共的访问public 去间接访问

 * 当前成员变量和局部变量名称一致的情况,遵循就近原则

(提供setXXX/getXXX()方法  :先手写 ,快捷键:alt+shift+s+r

5、This

  定义变量,方法,,接口,做到见名知意

  在手机类中的公共的访问方法中,对应局部变量名称应该做到见名知意

  虽然做到见名知意了,但是局部变量可以将成员变量隐藏掉,Java提供一个关键字:this

  this:代表是当前类对象,或者是(当前类对象的引用),解决局部隐藏了成员变量

6、Static

6.1 static:  静态的(共享的)

  在方法区中:开辟一个静态区域: 都是静态标记

  6.2 关于static关键字:

  1)静态随着类的加载而加载

2)static优先于对象存在

   回想:main  public static void main(..){...}

  3)static共享数据,可以被多个对象进行共享

  4)如果数据被静态修饰的,它可以被类名直接调用

  被静态修饰的方法: 类名.方法名()

  被静态修饰的变量: 类名.变量名;

  6.3tatic用法:

  一个类中可有静态变量,也可以有非静态

可以有静态成员方法,也可以非静态的成员方法

  静态的方法只能访问静态变量,或者是静态的方法

非静态的方法,既可以访问静态变量也可以非静态的变量...

简单记:静态只能访问静态

7、成员方法

8、构造方法

 构造方法的注意事项:

 1)之前没有写无参构造,系统会默认提供无参构造

2)如果我们无参构造或者有参构造,系统不会在提供无参构造;定义一个类的时候,永远给出无参构造;

构造方法是可以重载的:

9、制作文档说明书步骤

   针对数组操作的工具类

  1)创建一个数组,静态初始化

2)创建一个工具类,ArrayTool,提供一些静态功能:遍历,最值,查找

3)ArrayTool,每类,方法加上文档注释

  4)打开dos控制台:  找到当前路径:

  javadoc -d(目录名) -author -version ArrayTool.java

注意事项:必须进行文档注释,且在当如时不导包。

猜你喜欢

转载自blog.csdn.net/liuxiaofan_/article/details/79903863