(10)2017.8.9-面向对象(5)
来源:互联网 发布:红米1s支持4g网络吗 编辑:程序博客网 时间:2024/06/14 20:35
在学习面向对象的最后,介绍两个关键字,第一个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)2017.8.9-面向对象(5)
- 面向对象(5)
- php-面向对象(5)
- 面向对象(面向基础)
- 面向对象(一)
- 面向对象(二)
- 面向对象(三)
- 面向对象(一)
- 面向对象(二)
- 面向对象(下)
- 面向对象(php)
- 面向对象(一)
- 面向对象(二)
- 面向对象(三)
- 面向对象(一)
- 面向对象(二)
- 面向对象(1)
- 面向对象(2)
- 链表的定义以及实现
- http、TCP/IP协议与socket之间的区别
- Eclipse_SVN文件冲突、标记为合并
- Kubernetes基于ovs构建docker集群
- 普及认识:一种实现人工智能程序自进化的概念原理
- (10)2017.8.9-面向对象(5)
- 小知识
- 【Leetcode】【python】Container With Most Water
- VS 2017 安装 Resharper 2017的安装
- 设计模式-适配器模式-adapter-python
- java 判断
- spring mvc基础篇(五):映射处理器之BeanNameUrlHandlerMapping
- 欢迎使用CSDN-markdown编辑器
- umask命令:设置文件的默认权限掩码