day07 笔记
一.IDEAD
1.1、模块化开发
第一步
下一步:
1.2、断点调试
A.设置断点:寻找代码错误之处
B.debug状态运行:设置断点,一步步运行,
C.一步步运行;查看每一步变量的变化
D.找到错误之处,进行修改
debug状态:
二.面向对象的概念
java是一门面向对象的开发的,面向对象是一种思想,万物皆可对象,
.面向对象和面向过程
面向对象:注重结果,注重于解决问题的主体,不注重过程,相当于老板(偷懒)
面向过程:注重过程,注重于步骤,每一步亲历亲为,相当于员工
例子:洗衣
面向过程:一个盆==>装水==>放洗衣液==>手洗==>晒
面向对象:寻找洗衣机==>放衣服,洗衣液==>晒
public class Test01 {
public static void main(String[] args) {
//数组变换换格式输出
int [] arrays = {24,36,54,12};
//面向对象
String arr = Arrays.toString(arrays);
System.out.println(arr);
//面向过程 注重解决问题中的主体
//使用循环遍历
for(int i=0;i< arrays.length;i++) {
//使用拼接
if (i==0){
System.out.print("["+arrays[i]+",");
}else if ( i != 0 && i<arrays.length-1) {
System.out.print(arrays[i]+",");
}else {
System.out.print(arrays[i]+"]");
}
}
}
}
三.类
3.1、定义一个类:
-
语法:访问修饰符 class 类名(){}
-
类变量:定义规则和一般变量规则一样,但是它是在类里面,方法外
-
类方法:定义在类里面,和一般方法相识,唯一不同是在类方法要去掉 static
-
语法:
public class 类名(){ //类变量 //类方法 }
3.2、类的实例化
- 语法:类名 对象名 = new 类名();
例如:Person person = new Person();
-
对象来访问属性==>赋值 取值
赋值: 对象的名称.属性名 = 具体的值;
例子:person.name = “张三”;
取值:对象名称.属性
例子:person.name;
-
对象调用方法
语法:对象名.方法名(参数列表)
例子:person.study()
概念:描述属性和行为(方法)的集合
在类中的属性是有初始值的
属性 | 初始值 |
---|---|
int | 0 |
double | 0.0 |
boolean | false |
char | 打印空格 |
string | null |
四.一个对象创建的内存图
五.两个引用一个对象的内存图
六.引用数据类型作为方法参数的内存图
七.匿名的对象
概念:没有对象名的对象
语法:new 类名()
例子:new Person()
使用环境:
-
使用匿名对象调用方法,方法只需要调用一次的时候使用
-
作为方法的参数使用匿名对象
-
作为方法的返回值的时候
注意:匿名对象可以个成员变量赋值,但是在取值的时候取不到值,用处不大
好处:节约内存空间,垃圾回收时候,优先回收匿名对象
八.局部变量和成员变量
局部变量 | 成员变量 | |
---|---|---|
定义位置不同 | 定义在方法中 | 定义在方法外,类中 |
存储位置不同 | 存储在栈内存中 | 存储于堆内存中 |
生命周期不同 | 随着方法执行而开始, 随着方法结束而结束 | 随着对象的创建而开始 随着对象的毁灭而消失 |
是否有默认值 | 必须先赋值才能使用,没有默认值 | 有默认值 |
九.作业
需求:
代码:
定义的类:
public class Vehicle {
//属性
int speed;
double size;
//方法
//移动
public void move(){
System.out.println("移动中"+"\t"+"车速:"+speed+"\t"+"体积"+size);
}
//设置速度
public void setSpeed(int speed){
System.out.println(speed);
}
//加速
public void speedUp(){
System.out.println("加速中:"+"\t"+"速度为:"+(speed+5));
}
//减速
public void speedDown(){
System.out.println("减速中:"+"\t"+"速度为:"+(speed-10));
}
}
测试:
public class Test11 {
public static void main(String[] args) {
//实例化对象
Vehicle vehicle = new Vehicle();
//使用方法初始化
vehicle.speed = 110;
vehicle.size = 22;
//移动
vehicle.move();
//加速方法对速度进行改变
vehicle.speedUp();
//减速
vehicle.speedDown();
}
}
结果: