【一分钟知识】静态变量和实例变量、构造器

1、静态变量和实例变量

  • 静态变量
    • 被static修饰符修饰的变量,也称为类变量
    • 属于类,不属于类的任何一个对象
    • 一个类不管创建多少个对象,静态变量在内存中有且仅有一个拷贝
  • 实例变量
    • 必须依存于某一实例,需要先创建对象然后通过对象才能访问到它。

2、实现对象克隆

  • 实现Cloneable接口并重写Object类中的clone()方法
  • 实现Serializable接口,通过对象的序列化和反序列化实现克隆,可以实现真正的深度克隆

3、final关键字

  • 修饰类:表示该类不能被继承;
  • 修饰方法:表示方法不能被重写;
  • 修饰变量:表示变量只能一次赋值以后值不能被修改(常量)

4、看程序,指出运行结果

  • 执行结果:1a2b2b。创建对象时构造器的调用顺序是:先初始化静态成员,然后调用父类构造器,再初始化非静态成员,最后调用自身构造器

原文发布于微信公众号 - java思维导图(java-mindmap)

原文发表时间:2018-02-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏vue

Java冒泡排序法升级版

18730
来自专栏软件开发 -- 分享 互助 成长

C++静态成员变量和静态成员函数小结

静态类成员包括静态数据成员和静态函数成员两部分。 一 静态数据成员: 类体中的数据成员的声明前加上static关键字,该数据成员就成为了该类的静态数据成...

19850
来自专栏Zephery

重载与重写

目前的问题:父类的功能无法满足子类的需求。 方法重写的前提: 必须要存在继承的关系。 方法的重写: 子父类出了同名的函数,这个我们就称作为方法的重写。 什么是时...

373130
来自专栏每日一篇技术文章

Swift3.0 - 初始化和释放

1.系统要求存储属性必须初始化 2.可选值可以不用初始化,如果不初始化值,系统默认用nil初始化它 3.如果非可选类型存储属性不设置默认值,则必须在初始化方...

9910
来自专栏苦逼的码农

从0打卡leetcode之day11--正则表达式匹配

给定一个字符串 (s) 和一个字符模式 (p)。实现支持 ‘.’ 和 ‘*’ 的正则表达式匹配。

29620
来自专栏十月梦想

字符串截取substr和substring区别?

刚才我们已经简单的了解了一下数组截取的splice和slice的区别,这篇文章来简单了解一下字符串截取的两种方式substr和substring的区别?为了数组...

37820
来自专栏尾尾部落

[剑指offer] 包含min函数的栈

用一个栈stack保存数据,用另外一个栈temp保存依次入栈最小的数 比如,stack中依次入栈 5, 3, 4, 10, 2, 12, 1, 8 则te...

11930
来自专栏Pythonista

Python中的变量引用对象需注意的几点

        Python中,变量的作用仅仅是一个标识,只有赋值后才被创建,它可以引用任何类型的对象,而且在引用之前必须赋值。赋值后的变量指向响应的对象,拥有...

13220
来自专栏GreenLeaves

JavaScript引用类型之Array数组之强大的splice()方法

splice()方法可以说是Array数组最强大的方法,他的用法很多,主要用法是向数组的中部插入项! 下面是它的用法: arrayObject.splice(i...

22650
来自专栏前端大白专栏

Object.keys()具体使用方式

21250

扫码关注云+社区

领取腾讯云代金券