复习
1.数组:存储相同数据类型的容器
2.特点:数据类型相同,有序的(下标 0-length-1)
3.一维数组:
int[] num; int num[];
num = new int[10];
num[0] = 2;
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[][] num;
int[] num[];
int num [][];
num = new int[2][3];
num = new int[2][];
num[0] = new int[2];
int[][] num = {{2,3},{4,5},{2,2}};
int[][] num = new int[][]{{2,3},{4,5},{2,2}};
使用嵌套循环
8.方法
格式:[public static] 方法的返回类型 方法名称(形参列表){}
方法的 返回类型:void ,非void
void可以有return语句,return后不可以有值
非void 必须return语句,值和方法返回类型兼容
方法调用:
方法名(实参列表);
值传递:
如果基本数据类型,方法内改变,原值不变。
如果是地址(数组),地址不变,数据发生变化,原值也发生变化
------------------------------------------------------------
模拟注册功能
1.使用数组存储个人信息;
2.register(String id,String name,String pwd,String email):void;
3.check(String name,String pwd):boolean
4.updateInfo(String name,String email):void
5.updatePwd(String newPwd):void
main方法
1.注册
2.登录
0.退出系统
登陆成功之后,进入用户管理
1.修改个人信息
2.修改密码
0.返回上一级菜单
--------------------------------------------------------
面向对象和面向过程
面向过程:想吃面包 自己做
买面->和面->模型 - > 烤熟->吃面包
面向对象:想吃面包 面包师 让别人做
买面->和面->模型 - > 烤熟->吃面包
类和对象
1.类:对具有共同属性和行为特征的一类事物的抽象。
2.对象:通过类创建的实例。类是创建对象的模板。
3.类的定义:
class 类名{
类成员的定义:成员变量,方法,块
int i;
}
4.类分为工具类,测试类(程序入口类)
5.构造方法:(构造器)
什么是构造方法:方法名和类名相同,无返回类型。可以有多个
来源:2个途径,一个系统默认
public 类名(){}
自定义
作用:和new一起完成创建对象
使用:new 构造方法
多个构造方法一定重载的,构造方法重载
--------------------------------------------------
对象的初始化过程(内存)
创建对象时,成员变量会被初始化。
构造块
在构造方法之前执行,初始化成员变量
局部块
//执行完毕,立即回收,可以提高内存的利用率
变量的分类
定义的位置:成员变量和局部变量
成员变量:定义到类体中
局部变量:方法内或者参数列表
访问范围:
成员变量:整个类内
局部变量:当前方法
this关键字:
this:表示当前类对象
访问类成员:this.成员
调用本类的构造方法:this(实参);
this()必须是构造方法的第一条有效语句
--------------------------------------------------
面向对象的三大特征:继承,封装,多态
1.封装:
封装的实现:
定义私有变量
提供公有的方法
2.继承:
特点:
什么继承:由已有类产生新类,这种机制叫继承
父类子类:已有类->父类 新类->子类
继承性:子类可以继承父类的所有成员(构造方法不能继承)
有些方法不可以使用的
java单一继承。
Object是顶级类
满足一种关系:is a
extends
super
super:表示父类对象
super.成员
super(参数):必须是子类构造方法的第一条有效语句
访问修饰符
方法重写
3.多态: