2.面向对象编程——static、package包、import、封装性、继承性的前半部分

本文详细介绍了Java中的static关键字,包括静态变量、静态方法和静态代码块的使用。此外,讲解了package包的定义、import导入的作用,以及面向对象编程中的封装性和继承性,探讨了方法重写的概念和规则。
摘要由CSDN通过智能技术生成

一、static关键字

static,译为静态。
一个类的成员包括:变量、方法、构造方法、代码块和内部类,static可以修饰除了构造方法外的所有成员。
使用static修饰的成员称为静态成员,是属于某个类的。而不使用static修饰的成员为实例成员,是属于该类的每个对象的。

1 static变量

static修饰的成员变量为静态变量,也叫类变量。类变量的声明周期和类相同,在整个应用程序执行期间都有效。

静态变量的特点
为该类的公用变量,属于类,被该类的所有实例共享,在类被载入时显示初始化。
对于该类的所有对象来说,static成员变量只有一份,被该类所有对象共享。
一般用“类名.类属性/方法”来调用。
在static方法中不可直接访问非static的成员。

静态变量和非静态变量的区别

  1. 份数不同:静态变量只有一份,为该类的所有实例对象共享。非静态变量每个实例对象都有一份。
  2. 存储的位置不同:静态变量存储在方法区(也叫元空间)内,非静态变量存储在堆内存中。
  3. 分配内存空间的时间不同:静态变量在类第一次被加载时分配空间,非静态变量在对象创建时分配空间。
  4. 生命周期不同:静态变量声明周期与类相等,非静态变量声明周期与所属对象相等。
  5. 调用方式不同:静态变量可以通过“类名.变量名”调用,也可以通过“对象名.变量名”调用。(推荐使用“类名.变量名”,因为静态变量只有一份,为所有该类创建的对象共享。)而非静态变量只能通过“对象名.变量名”调用。

2 static方法

static方法的作用
访问static变量和static方法
static方法的调用方式
可以使用“类名.方法名()”调用,也可以使用“对象名.方法名()”调用。但是推荐使用第一种方式,因为static方法不依赖于对象,所以调用时可能并没有创建对象。
不可以
静态方法不可以访问非静态变量
静态方法不可以访问非静态方法
静态方法不可以使用this关键字

个人理解:因为在静态方法不依赖于对象,所以调用静态方法时也许并没有创建对象,非静态

Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:含完整源码+工程文件+说明(如有)等。答辩评审平均达到96,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值