Java基础复习第五天

Arrays类

(1)数组的工具类 java.util.Arrays
(2)由于数组对象本身并没有什么方法可以供我们调用,但 API中提供了一个工具类Arrays供
我们使用,从而可以对数据对象进行一些基本的操作。
(3)查看JDK帮助文档
(4)Arrays类中的方法都是static修饰的静态方法,在使用的时候可以直接使用类名进行调用,
而“不用”使用对象来调用(注意:是“不用”,而不是“不能”)

(5)具有以下常用功能:
	给数组赋值: 通过fill方法
	对数组排序: 通过sort方法,按升序。
	比较数组:    通过equals方法比较数组中元素值是否相等。
	查找数组元素: 通过binarySearch 方法能对排好序的数组进行二分查找法操作。

面向对象编程

Java的核心思想就是OOP

面向对象三大特征
封装
继承
多肽

1、初识面向对象

2、方法回顾和加深

3、对象的创建分析

4、面向对象三大特征 (重点)

5、抽象类和接口

6、内部类及OOP实战

面向对象编程的本质就是 :

(重要)以类的方式组织代码,以对象的组织(封装)数据。

从认识论角度考虑是先有对象后有类。对象,是具体的事物。类,是抽象的,是对对象的抽象

从代码运行角度考虑是先有类后有对象。类是对象的模板。

冒泡排序

package com.guanshiang.day05.arrays;

import java.util.ArrayList;
import java.util.Arrays;

//冒泡排序
public class Demo02 {
public static void main(String[] args) {


    int[] a = {1,4,332,5,433,2};
    System.out.println(Arrays.toString(a));

    //冒泡排序
    //1、比较数组中,两个相邻的元素,如果第一个数比第二个数大,我们就交换他们的位置
    //2、每一次比较,都会产生出一个最大,或者是最小的数字。
    //3、下一轮则可以少一次排序。
    //4、依次循环,直到结束!
    // 如何优化呢?
    for (int i = 0; i<a.length-1;i++){
        boolean b = false;
        for (int y = 0;y<a.length-1-i;y++){
            if (a[y]<a[y+1]){
                int temp = a[y];
                a[y] = a[y+1];
                a[y+1] = temp;
                b = true;
            }
        }
        if (b == false){
            break;
        }
    }

    System.out.println(Arrays.toString(a));
}

}

稀疏数组

稀疏数组可以看做是普通数组的压缩,但是这里说的普通数组是值无效数据量远大于有效数据量的数组。

回顾方法及加深

方法的定义
	(1)修饰符
	(2)返回类型
	(3)break 和 return 的区别  
		break 跳出循环   结束循环
		continue 跳出本次循环
		return 终止方法,结束方法
	(4)方法名 
		注意规范ok  见名知意
	(5)参数列表
		(参数类型,参数名)。。。
	(6)异常抛出
		疑问,后面讲解

方法的调用    : 递归
	(1)静态方法
	(2)非静态方法
	(3)形参和实参
	(4)值传递和引用传递
	(5)this关键字

构造器

构造方法

特点:
(1):必须和类的名字相同
(2):必须没有返回类型,也不能写 void

封装

1、该露面的露,该藏的藏。
(1)我们程序要最求“高内聚,低耦合”。高内聚就是类的内部数据操作细节自己完成,
不允许外部干涉;低耦合:尽暴露少量的方法给外部使用。

2、封装(数据的隐藏)
(1)通常,应禁止直接访问一个对象中数据的实际表示,而应通过操作接口来访问,这
称为信息隐藏。

记住这句话就够了: 属性私有吗get/set

封装的优点:

1、提高程序的安全性,保护数据
2、隐藏代码的实现细节
3、统一接口
4、系统可维护增加了

类与对象的关系

类是一种抽象的数据类型,它是对某一类事物整体描述/定义,但是并不能代表某一个具体的事物。

对象是抽象概念买你的具体事例

继承

1、继承的本质是对某一批类的抽象,从而实现对现实世界更好的建模。

2、extands的意思是“ 扩展”。子类 是父类的扩展。

3、Java中类只有单继承,没有多继承!

4、继承是类和类之间的一种关系。除此之外,类和类之间的关系还有依赖,组合,聚合等。

5、继承关系的两个类,一个为子类(派生类),一个为父类(基类)。子类继承父类,使用关键字exetends来表示。

6、子类和父类之间,从意义上讲应该并具有"is a" 的关系

6、object 类

7、super

8、方法重写

学生 is 人 : 派生类,子类

子类继承父类,就会拥有父类的全部方法!

// ctrl + H 打开继承树

在Java中,所有的类,都默认直接或者间接继承Object

super注意点

1、super调用父类的构造方法,必须在构造方法的第一个
2、super 必须只能出现在子类的方法或者构造方法中!
3、super 和 this 不能同时调用构造方法!

VS this:

代表的对象不同:
	this : 本身调用者这个对象
	super: 代表父类对象的应用

前提
	this : 没有继承也可以使用
	super: 只能在继承条件才可以使用
构造方法
	this(); 本类的构造
	super(): 父类的构造!

总结

种一颗树最好的时间是十年前,其次是现在。

本片参考与 kuangstudy

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值