day06、数组
声明方式
1、数据类型[] 数组的名字 = {值1, 值2, 值3,…};
或
数据类型 数组的名字 []= {值1, 值2, 值3,…};
2、数据类型[] 数组的名字 = new 数据类型[容量];
或
数据类型 数组的名字[] = new 数据类型[容量];
3、数据类型[] 数组的名字 = new 数据类型[]{值1, 值2, 值3,…};
第二种声明方式 ,如何赋值
数组可以作为方法的参数
也可以作为方法的返回值
day07、排序
选择排序:int[] arr = {5, 4, 3, 2, 1};
for(int i = 0; i < arr.length - 1; i++){
int minIndex = i;
for(int j = i + 1; j < arr.length; j++){
if(arr[minIndex] > arr[j]){
minIndex = j;
}
}
int temp = arr[minIndex];
arr[minIndex] = arr[i];
arr[i] = temp;
}
day08、类的属性,方法 和 无参构造方法、有参构造方法
1.声明一个类的语法格式
calss Person {
属性
String name;
方法
public void eat () {
}
}
2.通过类创建一个对象
Person person1 = new Person();
3.无参数的构造方法语法格式
public 类名 () {
}
4.有参数构造方法的语法格式
public Person (String name, int age) {
this.name = name;
this.age = age;
}
5.构造方法的作用是啥
初始化对象
day09、内存分析、成员变量、局部变量,封装
内存:
栈: 八大基本数据类型 和 对象的引用(内存地址)
堆:存储对象和数组的数据,凡是new的东西和堆有关
构造代码块(现在不用了)
{
语句体
}
成员变量和局部变量的区别:
区别 | 成员变量 | 局部变量 |
---|---|---|
位置 | 类的大括号里,方法之外 | 在方法体中 |
作用 | 描述一个类的属性或特征 | 在方法体中保存变量的值的 |
初始值 | 有默认值 | 没有默认值,使用的时候要赋值 |
作用域 | 作用整个类 | 只能在当前方法中使用 |
封装
day10、this关键字、对象可以做为方法的参数、多类合作、继承
this调用属性和方法
this.name this.age this.eat()
this调用构造参数: this()
一定要在构造方法中,调用另一个构造方法
调用构造方法时,一定要在首行
public 类名 (String name; int age ) {
this(name);
this.age = age;
}
对象作为方法的参数
多类合作,类可以作为另一个类的属性
继 承:
class A {
}
class B extends A {
}
公开的和默认的属性和方法,能被子类调用
父类的私有属性和方法,子类无法直接调用
创建子类对象时,先调用父类的构造方法,再调用子类的构造方法
如果父类没有无参构造方法,子类也不能有无参构造方法