java学习day07笔记---面向对象

day07 笔记

一.IDEAD
1.1、模块化开发

第一步

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lhaq48e8-1641907913530)(C:/Users/%E6%82%B2%E9%99%8C/AppData/Roaming/Typora/typora-user-images/image-20220111195739006.png)]

下一步:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fcPg49CE-1641907913532)(C:/Users/%E6%82%B2%E9%99%8C/AppData/Roaming/Typora/typora-user-images/image-20220111195705767.png)]

1.2、断点调试
A.设置断点:寻找代码错误之处  
B.debug状态运行:设置断点,一步步运行,
C.一步步运行;查看每一步变量的变化
D.找到错误之处,进行修改
debug状态:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0SRA565J-1641907913532)(C:/Users/%E6%82%B2%E9%99%8C/AppData/Roaming/Typora/typora-user-images/image-20220111200321794.png)]

二.面向对象的概念

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]+"]");
            }
        }
    }
}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n3PtIsJI-1641907913533)(C:/Users/%E6%82%B2%E9%99%8C/AppData/Roaming/Typora/typora-user-images/image-20220111201808763.png)]

三.类
3.1、定义一个类:
  • 语法:访问修饰符 class 类名(){}

  • 类变量:定义规则和一般变量规则一样,但是它是在类里面,方法外

  • 类方法:定义在类里面,和一般方法相识,唯一不同是在类方法要去掉 static

  • 语法:

    public class 类名(){
    	//类变量
    	//类方法
    }
    
    3.2、类的实例化
    • 语法:类名 对象名 = new 类名();

    ​ 例如:Person person = new Person();

    • 对象来访问属性==>赋值 取值

      ​ 赋值: 对象的名称.属性名 = 具体的值;

      ​ 例子:person.name = “张三”;

      ​ 取值:对象名称.属性

      ​ 例子:person.name;

    • 对象调用方法

      ​ 语法:对象名.方法名(参数列表)

      ​ 例子:person.study()

概念:描述属性和行为(方法)的集合

在类中的属性是有初始值的
属性初始值
int0
double0.0
booleanfalse
char打印空格
stringnull
四.一个对象创建的内存图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-glNE1R9g-1641907913534)(C:/Users/%E6%82%B2%E9%99%8C/AppData/Roaming/Typora/typora-user-images/image-20220111204956983.png)]

五.两个引用一个对象的内存图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-exvixISP-1641907913534)(C:/Users/%E6%82%B2%E9%99%8C/AppData/Roaming/Typora/typora-user-images/image-20220111205119056.png)]

六.引用数据类型作为方法参数的内存图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sSHmHGgz-1641907913535)(C:/Users/%E6%82%B2%E9%99%8C/AppData/Roaming/Typora/typora-user-images/image-20220111205220753.png)]

七.匿名的对象

概念:没有对象名的对象

语法: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();

    }
}

结果:

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个胖小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值