JAVASE学习第一天(局部变量和全局变量、栈、堆和方法区)

本文介绍了面向对象编程与面向过程编程的区别,强调了类作为模板、对象作为实例的角色。讨论了局部变量和全局变量的内存位置和作用域,以及栈、堆和方法区的概念。此外,提到了常量池在数据存储中的作用,并探讨了方法的定义、权限修饰符以及方法调用的规则。
摘要由CSDN通过智能技术生成

怕死的免责声明:本人为现为新人笔者,此文章用于记录本人学习路程为主,因此文章内容无教学向。对于文章涉及内容,如有错误敬请指正,若有更好的建议及改进方法本人也愿虚心求教。若有参考本文章内容操作而出现的各种问题,现在下能力不足,也许无法解决,故各位谨慎借鉴。


面向对象和面向过程区别

面向对象:进行整体设计,宏观把控。    设计者思维

面向过程:微观操作落实                          执行者思维

类和对象

类相当于模板

对象相当于具体的实例

局部变量和全局变量

成员变量局部变量
代码中位置不同类中定义的变量方法或代码块中定义的变量
内存中位置不同堆内存栈内存
是否有默认值没有
代码作用范围当前类的方法当前一个方法或代码块
作用时间不同当前对象从创建到销毁定义变量到所属方法或代码块
执行完毕

栈、堆和方法区

当一个方法运行时   (以main方法举例)  会形成一个(main)栈帧    里面存储基本数据类型以及地址   在往下运行的过程中依次执行  在不是基本数据类型的时候在堆中开辟内存并存储开辟内存的地址  开辟的堆中存储相应成员变量

补充:常量池

堆和栈中数据 应该在存储在一个常量池当中   堆和栈中也是保存一个地址 后续数据比较需要 比较涉及 ==和equals的关系

以后再补充~~~

方法

重复使用的代码尽可能都写成方法  减少代码重复

方法格式:

    private void openApple01(){
        System.out.println("打开苹果");
    }
    public String openApple02(){
        System.out.println("打开苹果");
        return "";
    }
    protected int openApple03(int a,int b){
        System.out.println("打开苹果");
        return a + b;
    }
//  遵守小驼峰命名法
//  权限修饰符  返回值  方法名(参数类型 参数名...)
//  void 表示没有返回值
//  有返回值的在return后方法等于结束退出
权限修饰符:

方法调用

main方法会自动调用,其他的需要自己调用

调用的时候,实参和形参的顺序要一致

在同一类中同一类型方法可以直接调用

形参和实参:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值