(10)2017.8.9-面向对象(5)

本文详细介绍了Java中static和final两个关键字的区别与用法。static用于定义类成员的静态属性和方法,使得这些成员被所有对象共享,并且可以在不创建对象的情况下通过类名访问;final则用于标记不可变的类、方法或变量。

在学习面向对象的最后,介绍两个关键字,第一个static

static是静态的意思,它的特点是:

1.static 是一个修饰符,用于修饰成员。 

2.static 修饰的成员被所有的对象所共享。

3.static 优先于对象存在,因为 static 的成员随着类的加载就已经存在了。  

4.static 修饰的成员多了一种调用方式,就可以直接被类名所调用 。 类名.静态成员 。 

5.static 修饰的数据是共享数据,对象中的存储的是特有数据。  

那它和成员变量到底有什么区别呢:

第一:两个变量的生命周期不同。 成员变量随着对象的创建而存在,随着对象的被回收而释放。 静态变量随着类的加载而存在,随着类的消失而消失。

第二: 调用方式不同。 成员变量只能被对象调用。 静态变量可以被对象调用,还可以被类名调用。 

第三:别名不同。 成员变量也称为实例变量。 静态变量称为类变量。 

第四:数据存储位置不同。 成员变量数据存储在堆内存的对象中,所以也叫对象的特有数据. 静态变量数据存储在方法区(共享数据区)的静态区,所以也叫对象的共享数据.

static的注意事项 :

1.静态方法只能访问静态成员。(非静态既可以访问静态,又可以访问非静态) 
2.静态方法中不可以使用 this 或者 super 关键字。 
3.主函数是静态的

第二个关键字是final
在 Java 中声明类、属性和方法时,可使用关键字 final 来修饰,表示“最终” ,final 关键字为修 饰符。

使用的final有几大特性

(1)final 修饰的类不能被继承。提高安全性,提高程序的可读性。

(2)final 修饰的方法不能被子类重写。 

(3)final 修饰的属性为常量。一旦初始化后,不可再被赋值。习惯上,常量用大写字符表示。比如:final double PI=3.14; 但是若变量用 static final 修饰,他叫做全局常量。比如:Math 类的 PI 

final、finally、finalize()进行区分(会写一个专门的文章写他们的不同,现在先知道它们看上去差不多可是含义和用法却大相庭径)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张小五丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值