复习:
1、数组:存储相同数据类型的容器
2、特点:数据类型相同,有序的,(下标:0~length-1)
3、一维数组:
int[] num; int num[];
num = new int[10];
num[0] = 2;
for循环
增强for循环::for( int i : num ){}
其它定义方式
int[] num = new int[10];
int[] num = {1,2,3}
int[] num = new int[]{1,2,3}
4、获取长度:length
5、拷贝:System.arraycopy(a,0,b,0,3)
扩容:Arrays.copyOf(a,newlength)
6、排序:
冒泡,选择
7、二维数组
int[][] nums;
int[] nums[],b;
int nums[][];
nums = new int[2][3];
nums = new int[2][ ];
num[0] = null;
num[0] = new int[2];
int[][] nums = {{2,3},{4,5},{6,7}}
int[][] nums = new int[][]{{2,3},{4,5},{6,7}}
使用嵌套循环
8、方法
格式:[public static] 方法的返回类型 方法名称(形参列表){}
方法的返回类型:void, 非void
void可以有return语句,return后不可以有值
非void 必须有return语句,值和方法返回值类型兼容
方法的调用:
方法名(实参列表);
值传递:
如果基本数据类型方法内改变,原值不变
如果是地址(数组),地址不变,数据变化,原值发生变化
~分节~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~··~~
1、模拟注册功能
2、面向对象和面向过程
面向过程:想吃面包 自己做
买面 -> 和面 - > 模型 -> 烤熟 ->吃面包
面向对象:想吃面包 面包师 让别人做
买面 -> 和面 ->模型 ->烤熟 -> 吃面包
面向对象:Java 类(属性和行为)和对象
继承、封装、多态、抽象
1》类和对象
1>类:对具有共同属性和行为特征的一类事务的抽象
2>对象:通过类创建的实例。类是创建对象的模板
3>类的定义
class 类名{
类成员的定义:成员变量,方法,块
}
4>类称为工具类,测试类(程序入口)
public class Student
5>构造方法:(构造器)
什么是构造方法:方法名和类名相同,无返回类型。可以有多个
来源:2个途径,一个系统默认
public 类名(){}
自定义
作用:和new一起完成创建
使用:new 构造方法();
不能对象.方法();
多个构造方法一定是重载的,构造方法重载
♥构造方法可使变量发生变化
class abstract A{}
class B {
public A get(){
return new A(){};
}
}
2》对象的初始化过程(内存)
创建对象时,成员变量会被初始化。
3》构造块:在构造方法前执行
4》局部块:执行完立马被回收,提高内存使用率
5》变量的分类:
定义的位置:成员变量和局部变量
成员变量:定义到类体中,没有顺序之分
局部变量:方法内或者参数列表
访问访问:
成员变量:整个类
局部变量:当前方法
6》this关键字
this:表示当前类的对象
访问类成员:this.成员
调用本类的构造方法:this(实参);
this()必须是构造方法的第一条有效语句
3、面向对象的三大特征:继承,封装,多态 + 抽象
1》封装:属性用private,写public的set/get方法,在其它类中使用set/get来赋值/取值
2》继承
特点:
什么是继承:由已有类产生新类,这种机制叫继承
父类,子类:父类:已有类(被继承类) 新类:子类(继承类)
继承性:子类可以继承父类的所有成员变量(构造方法不能继承)
有些是不可以使用的(私有方法)
Java单一继承,最大父类:object
满足一种关系:is a
extends
super
super:表示父类对象
super调用父类成员变量/方法:super.test();super.x;
super()//默认继承父类无参构造方法
super(参数):必须是子类构造方法的第一条有效语句
访问修饰符
private
public
protected
方法重写
3》多态