首页 > 其他分享 >24.10.08

24.10.08

时间:2024-10-14 22:17:07浏览次数:9  
标签:变量 构造方法 对象 08 24.10 Yes 方法 成员

面向对象

对象的创建及使用内存图

方法区用于加载类信息,堆里面用于存放new出来的,栈中存放局部变量

img

运行TestDemo2时首先加载TestDemo2类信息在加载Car类的信息,Car类new出来的对象存放在堆内存中,并对Car类中的成员变量附上默认值,new出来的对象有一个地址值0x123.在栈中声明Car然后找到0x123找到new的对象,并给成员变量附上默认值,再从0xabc找到Car的成员方法,将成员方法加载到栈中执行,执行完毕后销毁(出栈)。在执行并出栈完两个成员方法后main方法执行完毕然后销毁。

成员变量和局部变量的区别

  • 初始化值不同:

    • 成员变量有默认值

    • 局部变量没有默认值,不赋值不能使用

  • 在类中的位置不同

    • 成员变量:在类中方法外

    • 局部变量:在方法中或者方法的声明上

  • 内存位置不同:

    • 成员变量:在堆内存

    • 局部变量:栈内存

  • 生命周期不同:

    • 成员变量:随着对象的创建而出现,随着对象的消失而消失。

    • 局部变量:随着方法调用,在定义的那一行出现,随着方法的调用完毕而消失。

构造方法给对象的数据进行初始化。

this

this是一个关键字,表示调用的对象。哪个对象调用就是哪个对象。(相当于对象)

this的用法

  • this.成员变量

  • this(参数):调用当前类的构造方法,需要在方法当中的第一行

    public Person(){
        // this() 在构造方法中必须在有效代码的第一行
        this("陶喆",46);// 调用本类的构造方法
        System.out.println("无参构造被调用了");
    }
    ​
    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    ​
    public Person(String name, int age, String address) {
        this(name,age);
        this.address = address;
    }

this.成员方法()

构造代码块

构造代码块:在创建对象的时候,无论调用哪个构造方法都会先于构造方法执行

位置:类中方法外的{}

权限修饰符

决定方法或者变量使用的位置

                                public > protected > (default)(啥也不写) > private

同一个包同一个类         Yes         Yes         Yes                                 Yes

同一个包不同类              Yes         Yes         Yes                                 No

不同包同一个类               Yes         Yes         No                                 No

不同包不同类                 Yes         No         No                                         No

super

用法

  • super(参数) 调用父类对应的构造方法 默认构造方法中都有一个super(),需要在方法当中的第一行

  • super.成员变量 获取父类的成员变量

  • super.成员方法() 调用父类对象的成员方法

重写和重载

Override在父子类中存在方法签名相同的人非静态方法,就称之为重写。也称之为方法的覆盖。

子类重写的方法的权限修饰符的范围要大于等于父类对应方法的权限修饰符的范围

Overload方法名一样不一样的是形参个数和形参的参数类型

多态

多态的体现形式:

  • 编译时多态: 方法的重载

  • 运行时多态:方法的重写、向上转型

向上转型格式:父类 对象名 = new 子类();

    // 向上转型  就是用父类来声明对象,用子类来创建对象
    // 在编译期间只会检查声明类和创建类之间是否有继承关系
    // 到运行期间才能真正确定具体的子类对象
    // 编译看左边,运行看右边
    // 创建的对象只能用父类当中可用的方法和变量

static是关键字,也是修饰符。可以修饰变量,方法,代码块,内部类

标签:变量,构造方法,对象,08,24.10,Yes,方法,成员
From: https://blog.csdn.net/2401_87910368/article/details/142771192

相关文章

  • 2024.10.13 模拟赛
    2024.10.13模拟赛T1「KDOI-10」商店砍价赛时直接口胡出一个错误的贪心。一开始的想法是按照\(v[i]\)排序,然后假设输入的长度为\(n\)位。那么对于排序后\(n-5\)位直接选择操作一。对于剩下的,直接bdfs所有情况选答案,复杂度\(O(n\logn)\)。貌似可行,结果随便一个数据......
  • 2024.10.14 test
    B平面上有\(n\)个点以及\(k\)条未知的平行线,每个点都分属一条线,每条线都有至少\(2\)点。给出一种方案。\(n\le4e4,k\le50\)。每个点分属一条线的条件非常重要。考虑利用鸽巢原理。考虑取出\(k+1\)个没有两对点同斜率的点,那么,至少有两个点在一条线上,那么就可以确定斜......
  • 云原生周刊:优化 Uber 的持续部署丨2024.10.14
    开源项目推荐CogCog是将机器学习模型打包到容器的工具。可通过配置将机器学习模型所需的环境和依赖,自动打包到容器里方便部署,让你不再为编写Docker文件和CUDA而痛苦,还能自动启动HTTP接口服务方便调用。KnowStreamingKnowStreaming是功能强大的Kafka集群监控和运维管......
  • 2024.10.14 1105版
    起于《海奥华预言》的思考◆地球管理结构和参考持续更新中...... 英文地址:https://github.com/zhuyongzhe/Earth/tags中文地址:https://www.cnblogs.com/zhuyongzhe85作者:朱永哲 ---------------------------------------------------------------------------------......
  • 2024.10.14 1020版
    起于《海奥华预言》的思考◆地球管理结构和参考持续更新中...... 英文地址:https://github.com/zhuyongzhe/Earth/tags中文地址:https://www.cnblogs.com/zhuyongzhe85作者:朱永哲 ---------------------------------------------------------------------------------......
  • 2024.10.14 1005版
    起于《海奥华预言》的思考◆地球管理结构和参考持续更新中...... 英文地址:https://github.com/zhuyongzhe/Earth/tags中文地址:https://www.cnblogs.com/zhuyongzhe85作者:朱永哲 ---------------------------------------------------------------------------------......
  • 089基于java ssm springboot酒店客房预订管理系统(源码+文档+运行视频+讲解视频)
    项目技术:Springboot+Maven+Vue等等组成,B/S模式+Maven管理等等。环境需要1.运行环境:最好是javajdk1.8,我们在这个平台上运行的。其他版本理论上也可以。2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;3.tomcat环境:Tomcat7.x,8.x,9.x版本均可4.硬件环境:windows......
  • 085基于java ssm springboot基于协同过滤算法的煤矿员工体检健康管理系统体检套餐预约
    项目技术:Springboot+Maven+Vue等等组成,B/S模式+Maven管理等等。环境需要1.运行环境:最好是javajdk1.8,我们在这个平台上运行的。其他版本理论上也可以。2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;3.tomcat环境:Tomcat7.x,8.x,9.x版本均可4.硬件环境:windows......
  • 2024.10.08
    2024.10.08P3251JLOI2012时间流逝设\(f(S)\)为可重复集\(S\)进化的期望天数。\[f(S)=pf(P)+\frac{1-p}{m}\sum_{i=1}^mf(T)+1\]\(P\)为\(S\)除去最小值的集合,\(T\)为\(S\)加上一个元素的集合。不难发现,集合构成了一颗树的形态,根是空集,\(S\)父亲为\(P\),\(T\)父......
  • 24.10.13
    P3648P3648[APIO2014]序列分割李超树用多了已经不会单调队列维护斜率优化了...首先切的顺序不影响答案。\((x+y)z+xy=x(y+z)+yz\)。更多份同理。\(sum\)表示前缀和,\(suf\)表示后缀和。设\(f_{i,j}\)表示前\(i\)个数切成\(j\)份的最大值。\(f_{i,j}\ge......