首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java扩展类不保存变量,它能做到吗?

Java扩展类不保存变量,这是不准确的说法。在Java中,扩展类(即子类)可以继承父类的变量,并且可以访问和使用这些变量。当子类创建对象时,会自动继承父类的变量,并且可以在子类中对这些变量进行操作和修改。

扩展类可以通过继承父类的变量来实现对变量的保存和使用。子类可以直接访问继承的变量,也可以通过调用父类的方法来操作这些变量。这样可以实现对变量的保存和传递,使得子类可以使用父类的变量,并且可以在子类中对这些变量进行修改和扩展。

在Java中,扩展类可以通过super关键字来调用父类的构造方法,从而初始化父类的变量。这样可以确保父类的变量在子类中得到正确的初始化和保存。

总结起来,Java的扩展类是可以保存变量的,并且可以通过继承和调用父类的方法来操作和修改这些变量。这样可以实现对变量的保存和传递,使得子类可以使用和扩展父类的变量。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

防御性编程?这不就来了

那么对于单一字符的变量名称来说,26 个字母大写加 26 个字母小写加下划线以及美元符一共有 54 种变量名称,想一想难道这些还不够你在单个 Java 文件里给变量命名用? 兄弟这一般够用了。...就问你,Idea 支不支持吧,有没有提示说你变量规范嘛!没提示就是规范。 还有一点,兄弟们,还记得上面 Java 语言里变量名组成规范?...继承 继承:我可以让一个继承另一个的属性和方法,从而实现代码的复用和扩展。我可以表示之间的 is-a 关系,体现了的层次结构和分类。...组合 组合:我可以让一个包含另一个的对象作为自己的属性,从而实现代码的复用和扩展。我可以表示之间的 has-a 关系,体现了的关联和聚合。...产品每次提需求,代码实现一定要做到最小细粒度实现,做到需求里少一个字,我的代码里绝不会多一个词,注释也是不可能有的,我写的代码只有我看得懂不是防御性编程的基操? 我的代码我做主。

33431

java面试强基(1)

字节码和不同系统的 JVM 实现是 Java 语言“一次编译,随处可以运行”的关键所在。 jdk是java功能齐全的sdk。拥有jre的所有功能,同时还具有编译器、工具。它能够创建和编译程序。...在java中,字节码指的是虚拟机可以理解的代码(.class文件)。他面向任何特定的处理器,只面向虚拟机。...java语言通过字节码文件,在一定程度上解决了解释性语言执行效率低的问题,但是也保存了解释性语言可移植的特点。...java和c++的区别了解Java 不提供指针来直接访问内存,程序内存更加安全。 Java是单继承的,C++ 支持多重继承;虽然 Java不可以多继承,但是接口可以多继承。...这是因为C++语言本身已经重载了该运算符,所以它能够用于int、float、double和其它内部定义类型的变量

39620
  • Android大厂收割秘籍:太难了,准备半年,腾讯快手美团外卖面试中的那些辛酸坎坷史

    Service 一定没界面,Activity 一定有界面? Activity 不是一定有界面。比如一个跳转逻辑控制(机票的支付中间)、透明页 Service 也不是一定没界面。...另外当 Activity 被强杀时,系统会调用 onSaveInstance 去让你保存一些变量; 当应用回到前台时,如果C页面中有静态变量或有些Application的全局变量,就NullPointer...(1)加载器分类 启动加载器:加载 Java 的核心库,是用原生代码来实现的,并不继承自 java.lang.ClassLoader; 扩展加载器:加载 Java扩展库。...Java 虚拟机的实现会提供一个扩展库目录。该类加载器在此目录里面查找并加载 Java ; 系统/应用加载器:它根据 Java 应用的路径(CLASSPATH)来加载 Java 。...相同名称的可以并存在 Java 虚拟机中,只需要用不同的加载器来加载它们即可。不同类加载器加载的之间是兼容的,这就相当于在 Java 虚拟机内部创建了一个个相互隔离的 Java 类空间。

    68100

    【翻译】17位谷歌专家称号大牛如何看待Kotlin

    在我看来,另一个巨大的制胜点就是它的函数扩展功能。它能够为 Context , Activity 添加扩展方法,同时它的数据也使得我的代码更加简洁,可读性也有增强。...这门语言有着令人惊奇的特性,相比 Java 语言它去掉了一大堆模板代码。更不用提它能兼容市面上大部分的库了(包括 Java 代码编写的)。...Kotlin 能够在牺牲安全和性能的前提下写出比 Java 更加简洁和易读的代码。 Kotlin 是编译成二进制代码的,所以它能保持和 Java 一样的效率。...够了,够了,我掩饰我喜欢 Kotlin 语言的扩展功能,它甚至能把 Int 扩展成接口,把数字扩展成 38 进制,还能把异常扩展成工具。...像 PHP 这种世界级流行语言,它能做所有的事情,能写、能扩展接口、能写出优雅的函数、能够不断更新、可以写界面也可以写后面,能泡妞,能下饭,还能够带你上天堂。

    1.1K50

    面试 | JVM 加载机制 13 问

    扩展加载器主要负责加载JRE(Java Runtime Environment)扩展目录(jre/lib/ext)下的库,例如Java的一些扩展API功能。...扩展加载器的使用场景包括但不限于:Java提供的一些扩展功能,如Java通信API(Java Communication API),Java安全API(Java Cryptography Extension..., JCE)等用户自定义的扩展组件库,将这些库放置在扩展目录下,可以让Java程序自动加载这些扩展组件当需要将一些共享的库与标准库分开,以便于程序的分层与解耦时,可以考虑使用扩展加载器需要注意的是...与直接实例化一个加载器相比,这种方法对于处理加载和管理方面更为灵活且高效。5. 加载器中会保存所有已经加载过的?是的,加载器具有一个称为“缓存”的内部数据结构,用于存储已经加载过的。...ClassLoader.loadClass 是怎么做到只加载初始化的?是的,加载的最后一步流程是初始化。

    30411

    java高级工程师面试题_java高级工程师面试题及答案解析「建议收藏」

    字符流在输出前将所有内容暂时保存到内存中,即缓存区暂时存储,如果想不关闭也将字符流输出则可以使用flush方法强制刷出。字节字符转化可能存在系统编码lang,要制定编码。...四、final在Java当中有什么作用? final修饰的叫最终,这个不能被继承。 final修饰的方法不可以被重写。 final修饰的变量叫常量,常量必须初始化,初始化之后值就不能被修改。...六、String属于基础的数据类型?...七、Java当中操作字符串都有哪些?它们之间有什么区别? 操作字符串的有:String、StringBuffer、StringBuilder。...Kafka是一种高吞吐量的分布式发布订阅消息系统,它能够处理消费者在网站中的所有动作流数据……。 具体的可以通过以下的文章来进行了解-Kafka是什么?特性有哪些?

    55120

    JVM解毒——加载子系统

    可以打破这种机制?...这里包含用final修饰的static,因为final在编译的时候就会分配了,准备阶段会显示初始化 这里不会为实例变量分配初始化,变量会分配在方法区中,而实例变量是会随着对象一起分配到Java堆中...JVM自身需要的 并不继承自 java.lang.ClassLoader,没有父加载器 加载扩展和应用程序加载器,并指定为他们的父加载器 出于安全考虑,Boostrap 启动加载器只加载名为java...父加载器为启动加载器 从java.ext.dirs系统属性所指定的目录中加载库,或从JDK的安装目录的jre/lib/ext 子目录(扩展目录)下加载库。...实现 派生于 ClassLoader 父加载器为扩展加载器 它负责加载环境变量classpath或系统属性java.class.path 指定路径下的库 该类加载是程序中默认的加载器,一般来说

    55010

    JVM解毒——加载子系统

    可以打破这种机制?...这里包含用final修饰的static,因为final在编译的时候就会分配了,准备阶段会显示初始化 这里不会为实例变量分配初始化,变量会分配在方法区中,而实例变量是会随着对象一起分配到Java堆中...JVM自身需要的 并不继承自 java.lang.ClassLoader,没有父加载器 加载扩展和应用程序加载器,并指定为他们的父加载器 出于安全考虑,Boostrap 启动加载器只加载名为java...父加载器为启动加载器 从java.ext.dirs系统属性所指定的目录中加载库,或从JDK的安装目录的jre/lib/ext 子目录(扩展目录)下加载库。...实现 派生于 ClassLoader 父加载器为扩展加载器 它负责加载环境变量classpath或系统属性java.class.path 指定路径下的库 该类加载是程序中默认的加载器,一般来说

    29510

    Java基础篇Java开发环境的搭建

    Java 语言只要编写 / 编译一次,可以做到到处运行。....java的源文件名区分大小写,我们建议大家养成区分大小写的习惯。...一个源文件中可以有多个,编译后会生成多个.class字节码文件。 但是一个源文件只能有一个public的。 (3)main 方法必须在 public 的? 不是。...系统路径是 JVM 默认的路径,它包含了 Java 运行环境中的核心库和扩展库。系统路径可以通过系统属性 "java.class.path" 来获得。...通常情况下,Java 程序的文件都位于用户路径中,而核心库和扩展库位于系统路径中。在编写 Java 程序时,需要根据实际情况配置路径,以确保程序能够正常运行。

    35330

    万万没想到,JVM内存结构的面试题可以问的这么难?

    方法区的容量可以是固定的,也可以随着程序执行的需求动态扩展,并在不需要过多的空间时自行收缩。方法区在实际内存空间站可以是连续的。 这一规定,可以说是给了虚拟机厂商很大的自由。...栈(局部变量表)中主要存放各种基本数据类型、对象的引用。 Q6:Java中的数组是存储在堆上还是栈上的?...2、检查符号引用代表的是否被加载、解析、初始化过。 3、虚拟机为对象分配内存。 4、虚拟机将分配到的内存空间都初始化为零值。 5、虚拟机对对象进行必要的设置。 6、执行方法,成员变量进行初始化。...Q9:Java中的对象一定在堆上分配内存?...如何做到永不迁移数据和避免热点? 长按关注,每天java一下,成就架构师

    73420

    这几天研究了一下JDK14,发现它处理NPE的方式,真香!

    因此,它能够精确地确定哪个变量或表达式是null。最重要的是,JDK 14中默认关闭详细的异常消息。...但是,只有在运行使用激活的 -g 标记编译的代码时,才会发生这种情况,该标记会生成调试信息并将其添加到文件中。...已经安装了Java14的朋友可以试试看哦~ 往期推荐 Spring Boot 解决跨域问题的 3 种方案 把 14 亿人都拉到一个微信群,在技术上能实现? 这样统计代码执行耗时,才足够优雅!...来看看Google的未来工作环境设计,有你喜欢的元素? 小小登录,大大讲究!你的登录功能都做到位了吗?...学习的路上孤单,快来注册分享与交流吧! 点击阅读原文直达新版社区

    43710

    JAVA简介及特性

    1.5、可移植性/跨平台 java语言只要编写一次,可以做到到处运行。...可以做到一次编写到处运行。 java源代码一旦编译之后,源代码可以删除?只留下字节码可以执行吗? 完全可以执行,因为源代码参与程序的执行过程。 参与程序执行过程的是字节码。...放源代码的文件扩展名必须是:xxx.java 并且需要注意的是:编译生成的字节码文件扩展名是:xxx.class .java文件就是源文件,这个文件中编写源代码。...第四步:保存(一定要将xxx.java文件保存一下) 第五步:使用编译器(javac【JDK安装后自带】)对xxx.java文件进行编译。...其中A、B、C是的名字。 没有为什么,死记硬背,SUN公司的java语法就是这么规定的。 A/B/C是的名称。A、B、C。 源文件中编写的代码叫做:源代码。

    40110

    Java的序列化与反序列化

    什么是Java的序列化 JDK提供给我们的,可以将某一个对象转化为二进制字节流保存,并从字节流恢复对象的一种技术. 我们可以再网络传输对象,或者持久化对象时使用这项技术....静态变量的序列化 我在上面的代码中,定义了一个静态变量,他也能被序列化? 在序列化之后,对静态变量重新赋值,那么两次打印的值相等? 打印结果是: 10 250 为什么呢?...这个问题其实比较简单,静态变量是属于的,而我们是序列化了对象,因此包含的静态变量是正常的. transient 关键字 transient 关键字用于在序列化时,忽略某一个字段,在反序列化后该字段为初始值...中进行了检查,不属于那四个就会抛异常且不允许序列化. 3.序列化ID可以起到验证是不是同一个的作用,当然是在两个的代码完全一样的基础上. 4.transient关键字可以忽略一些字段,使其参与序列化.... 5.静态变量是不会序列化的,因为序列化的是对象,而静态变量属于. 6.可以参考ArrayList的实现方法实现自己的自定义序列化,在这个自定义的过程中,可以做许多事情,比如对某些字段加密(常用于密码字段

    61020

    【002期】JavaSE面试题(二):基本数据类型与访问修饰符

    开篇导读 大家好,我是Java面试题库的提裤姐,今天这篇是JavaSE系列的第二篇,主要总结了Java基础语法中访问修饰符会出现的相关面试题,在后续,会沿着第一篇开篇的知识线路一直总结下去,做到日更!...如果我能做到百日百更,希望你也可以跟着百日百刷,一百天养成一个好习惯。 Q: Java的数据类型有哪些? ?...Q: 抽象能用final修饰? 不能: 定义抽象就是让其他继承的,如果定义为final,该类就不能被继承,这样彼此就回产生矛盾,所以final不能修饰抽象。...Q: char 型变量中能不能存储一个中文汉字,为什么?...char 类型可以存储一个中文汉字,因为 Java 中使用的编码是 Unicode(选择任何特定的编码,直接使用字符在字符集中的编号,这是统一的唯一方法),一个 char 类型占 2 个字节(16 比特

    38830

    java基础第七篇之接口

    接口可以创建对象?...,和接口可以多实现 * * 2.接口和接口的关系叫做继承,而且接口和接口可以多继承 * * 面试题:java中支持多继承?...* java只能单继承,但是可以多层继承 * java接口和接口可以多继承 * * 3.一个 继承了另外一个,同时实现了多个接口 * 伪代码: * public class 子类 extends...修饰的成员变量,在内存中有一份,保存到静态区 * 然后无论创建多少个对象,所有对象共享一份数据 * 所以说我们一般称static修饰的成员变量 叫做成员 * * 3.被static修饰的成员的访问方式...: * 成员变量: * 对象名.static修饰的成员变量名;//建议 * 名.static修饰的成员变量名;//建议 * 成员方法: * 对象名.static修饰的方法名();//建议

    41820

    Java的前沿分享(1):value或许成为java的新关键字

    但是对于原始类型就不一样了,如果一个int类型的变量值为7,另一个也为7,区分它们有意义?这个7还是那个7?显然是无意义的。...对象头对的对象非常重要,决定哪个线程可以访问对象、垃圾收集器标记、对象hash;更重要的还有对象的类型指针,它能够在运行时动态访问对象的,并从其到该对象的详细信息,比如继承多态、反射。...Value Class 对于许多对象来说,它属性值的相等性是我们关心的,其它信息没什么用,而且只为保存值和对这些值进行操作而编写的在所有中所占的比例非常大。...值本身和它的所有字段默认都是final的。 该类直接或间接地实现java.lang.IdentityObject(有身份标识的新超)。...将在执行任何超初始化代码的情况下创建实例。 无法在值中使用synchronized关键字。 (可能)该类没有声明finalize()方法。

    28150

    兔哥说Java - 成员变量设计

    一个java里面有什么,无非就是属性和方法,属性是根据业务需求来的,并且你才是做决定的那个人。 1.一个java里面有什么 一个java,首先是来源于某个业务的抽象。...我们先整那么多,就说客户的概念。 客户是我们口头说的一个概念,大家都知道他是什么意思。那么,如何用oop的思想去把现实中的客户变成代码呢? 代码,什么代码,自然是java代码。...java代码写在哪里,自然是.java的文件里。 我们用class关键字来声明一个里面要写什么呢?答:要写成员变量和成员方法。 写什么成员变量呢?别急,下个步骤就告诉你。...; //生日 String phoneNumber; //电话号码 } String代表字符串,字符串是Java中的一个特殊的,也是一种数据类型,可以保存文字方面的信息。...总结-什么是成员变量 成员变量就是写在java的{}里面的变量变量的声明方式为:数据类型[空格]变量名称。

    36020

    一篇文章带你领略Android混淆的魅力

    根据 Java 官方介绍,Proguard 对应的具体中文定义如下: 它是一个包含代码文件压缩、优化、混淆和校验等功能的工具 它能够检测并删除无用的变量、方法和属性 它能够优化字节码并删除未使用的指令...它能够将变量和方法的名字重命名为无意义的名称从而达到混淆效果 最后,它还会校验处理后的代码,主要针对 Java 6 及以上版本和 Java ME 2.3 资源压缩 Android 中,编译器为我们提供了另外一项强大的功能...4.2 被反射的元素 被反射使用的变量、方法、包名等不应该被混淆处理。...4.5 JNI 调用的Java 方法 当 JNI 调用的 Java 方法被混淆后,方法名会变成无意义的名称,这就与 C++ 中原本的 Java 方法名匹配,因而会无法找到所调用的方法。...4.6 其他不应该被混淆的 自定义控件不需要被混淆 JavaScript 调用 Java 的方法不应混淆 Java 的 native 方法不应该被混淆 项目中引用的第三方库也建议混淆 5 混淆后的堆栈跟踪

    96120

    (62) 神奇的序列化 计算机程序的思维逻辑

    序列化机制的神奇之处,它能自动处理这种引用同一个对象的情况。...) throws java.io.IOException, ClassNotFoundException 在这个方法中,调用ObjectInputStream的方法从流中读入数据,然后初始化中的成员变量...在中定义如下变量: private static final long serialVersionUID = 1L; 在Java IDE如Eclipse中,如果声明实现了Serializable而没有定义该变量...这个变量的值可以是任意的,代表该类的版本号。在序列化时,会将该值写入流,在反序列化时,会将流中的值与定义中的值进行比较,如果匹配,会抛出InvalidClassException。...那如果版本号一样,但实际的字段匹配呢?Java会分情况自动进行处理,以尽量保持兼容性,大概分为三种情况: 字段删掉了:即流中有该字段,而定义中没有,该字段会被忽略。

    84160
    领券