java基础(二)

原本打算6月1号开始,一篇篇写的,虽然6月1号跟我没啥关系,好了,继续第二篇吧~~

数组

1.逆序方式,虽然已有方法实现,我还是比较较真,这些对理解已有方法还是有些作用的。

逆序
方式1:
public static int reverse(int[] arr) {
  for(int x=0; x<arr.length/2; x++) {
    int temp = arr[x];
    arr[x] = arr[arr.length-1-x];
    arr[arr.length-1-x] = temp;
  }
}

方式2:
public static int reverse(int[] arr) {
  for(int start=0,end=arr.length-1; start<=end; start++,end--) {
    int temp = arr[start];
    arr[start] = arr[end];
    arr[end] = temp;
  }
}

封装

  1. 影藏实现细节,提供公共的访问方式
  2. 作用

    A:隐藏实现细节,提供公共的访问方式

    B:提高代码的复用性

    C:提高代码的安全性

  3.private关键字:被private修饰的成员,只能在本类中被访问

继承

把多个类中相同的成员给提取出来定义到这个类中,然后让其他类与这个独立类产生一个关系

(1)继承的好处:
A:提高了代码的复用性
B:提高了代码的维护性
C:让类与类产生了一个关系,是多态的前提多态

(2)继承的弊端:
A:让类的耦合性增强。这样某个类的改变,就会影响其他和该类相关的类。
原则:低耦合,高内聚。
耦合:类与类的关系
内聚:自己完成某件事情的能力
B:打破了封装性

(3)继承的注意事项:
A:子类不能继承父类的私有成员
B:子类不能继承父类的构造方法,但是可以通过super去访问

多态

同一个对象在不同时刻体现出来的不同状态

(1)多态的前提:
A:有继承或者实现关系。
B:有方法重写。
C:有父类或者父接口引用指向子类对象。

(2)多态的好处:
A:提高代码的维护性(继承体现)
B:提高代码的扩展性(多态体现)
(3)多态的弊端:
父不能使用子的特有功能。

(3)多态中的成员访问特点
A:成员变量
编译看左边,运行看左边
B:构造方法
子类的构造都会默认访问父类构造
C:成员方法(由于成员方法有重写)
编译看左边,运行看右边
D:静态方法
编译看左边,运行看左边

构造方法

A:用于对对象的数据进行初始化

B:注意

  1.方法名和类名相同

  2.没有返回值类型,连void都不能有

  3.没有返回值,但可以有有return;(因为在任何的void方法的最后都可以写上 return;)

C:在继承里,子类的构造方法会先去访问父类的构造方法(原因:为了子类访问父类数据的处所化),当然子类也可以明确用super去调用父类的有参构造

代码块

(1)局部代码块:用于限定变量的什么周期,及早释放,提高内存利用率。

(2)构造代码块:把多个构造方法中相同的代码可以放到这里,每个构造方法执行前,首先执行构造代码块。

(3)静态代码块:对类的数据进行初始化,仅仅只执行一次。

执行顺序:静态代码块 > 构造代码块 > 构造方法

方法重载和方法重写:

方法重载:同一类中,出现方法名相同,参数列表不同,与返回值无关。

方法重写:在子类中,出现和父类中一样的方法声明的现象

 

posted @ 2015-06-02 15:34  judy999  阅读(184)  评论(0编辑  收藏  举报