*两个关键字static和final
静态方法只能继承,不能重写(Override)。
子类隐藏了父类的类方法(静态static方法,Class Method)
-------------------------------------------------------------
final 关键字: final 可以修饰属性、方法、类。
final 修饰类:当一个类被 final 所修饰时,表示该类是一个终态类,即不能被
继承。
final 修饰方法:当一个方法被 final 所修饰时,表示该方法是一个终态方法,即不能被重写( Override)。
final 修饰属性: 当一个属性被 final 所修饰时,表示该属性不能被改写。
当 final 修饰一个原生数据类型时,表示该原生数据类型的值不能发生变化
(比如说不能从 10 变为 20);如果 final 修饰一个引用类型时,表示该引用
类型不能再指向其他对象了,但该引用所指向的对象的内容是可以发生变化的。
对于final类型的成员变量,必须显示的赋初值
final int a;//有误
对于 final 类型成员变量,一般来说有两种赋初值方式:
a)在声明 final 类型的成员变量时就赋上初值
b)在声明 final 类型的成员变量时不赋初值,但在类的所有构造方法中都为其赋
上初值。
类的静态代码块只会执行一次,是在类被加载的时候执行的,因为每个类只 会被加载一次,所以静态代码块也只会被执行一次;而构造方法则不然,每 次生成一个对象的时候都会调用类的构造方法,所以 new 一次就会调用构造 方法一次。
如果继承体系中既有构造方法,又有静态代码块,那么首先执行最顶层的类 的静态代码块,一直执行到最底层类的静态代码块,然后再去执行最顶层类 的构造方法,一直执行到最底层类的构造方法。 注意:静态代码块只会执行一次。
不能在静态方法中访问非静态成员变量;可以在静态方法中访问静态的成员 变量。可以在非静态方法中访问静态的成员变量。
总结:静态的只能访问静态的;非静态的可以访问一切。
不能在静态方法中使用 this 关键字。
*两个关键字static和final的更多相关文章
- java笔记——Java关键字static、final使用小结
static 1. static变量 按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量:另一种是没有被static修饰的变量,叫实例变量.两者的 ...
- Java关键字static、final使用小结
static 1. static变量 按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量:另一种是没有被static修饰的变量,叫实例变量.两者的 ...
- Java之关键字static和final的使用
static 在Java中声明属性.方法时,可使用关键字static来修饰. 1.static变量 按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或 ...
- JAVA学习笔记--简介几个常见关键字static、final、this、super
一.static static(静态的),可以放在类.方法.字段之前. 通常,当创建类时,就是在描述那个类的外观与行为.除非用 new 创建那个类的对象,否则,实际上并未获得任何对象.执行 new 来 ...
- Java学习日记-5 关键字static和final 以及接口
乱入:表达式中的自动类型转换 char,short,byte都升级为int类型进行运算,结果为int,但其原变量类型并不改变. 所以,byte b = 10; b = b*b; 编译时会报错.但是写 ...
- Java关键字static、final
static 1. static变量 按照是否静态的对类成员变量进行分类可分两种:一种是被static修饰的变量,叫静态变量或类变量:另一种是没有被static修饰的变量,叫实例变量.两者的 ...
- java中关键字static和final
面向对象的不足 凡是有利必有弊,强对象编程,使得语法简单统一,但也有其缺点,而且有很多.我们在接下来的课程里会一点点接触到.我们今天先看第一个. 有些变量和函数确实没必要定义在一个类里.强行规定这些函 ...
- 关键字static、final
final final能修饰类.修饰方法.能修饰属性. 修饰类:该类不能被继承. 修饰方法:该方法不能被重写.所以abstract和final不能同时用 修饰属性/变量:该属性/变量为常量,该值不能再 ...
- java关键字static和final
static可以修饰变量,方法或者类(普通类是不能用static修饰的,只能用来修饰内部类) static静态变量又称之为类变量(和c++中的全局变量概念是一样的),在类加载后,jvm只为类变量分配一 ...
随机推荐
- django - transaction
def user_atomic(): User.objects.create(name='purk1', email='pwu1@maxprocessing.com') User.objects.cr ...
- .NET书籍推荐
任何语言的学习,要快速掌握,不在看书,而在实践.——题记 .NET技术从1.1发展到2.0,内核基本完善,从.NET 2.0开始学习是个明智的选择.而NET 3.5以及即将推出的.NET 4.0所新加 ...
- Zendframework 模块加载事件触发顺序。
模块加载时事件触发的时间顺序: 0.loadModules(ModuleEvent::EVENT_LOAD_MODULES) 1. loadModule.resolve(ModuleEvent::E ...
- git add 命令详解
或"表示git会例出索引库中的文件列表中的第个文件."-"表示git会例出索引库中的文件列表中的第个文件到第个文件.回车将执行.如果我们不输入任何东西,直接回车,将结束r ...
- Go学习指南
学习Golang书籍&资料: 1. The Go Programming Language Specification: http://golang.org/ref/spec 2. How ...
- per-project basis
Of course, HSQLDB connection parameters should be stored on a per-project basis, instead of only onc ...
- [原]项目进阶 之 持续构建环境搭建(三)Maven环境搭建
上次的博文项目进阶 之 持续构建环境搭建(二)Nexus私服器中,我们搭建了一个Nexus的maven私服,这次我们来重点讲解一下Maven的安装和配置.这里说明一下这次的环境搭建,比较基础,但却非常 ...
- 在SQL SErver中实现数组功能
T-SQL象数组一样处理字符串.分割字符串 在日常的编程过程中,数组是要经常使用到的.在利用SQL对数据库进行操作时,有时就想在SQL使用数组,比如将1,2,3,4,5拆分成数组.可惜的是在T- ...
- python logging TimedRotatingFileHandler 作用
max backup count这样的参数,即打印的日志文件数量超过这个阈值,发生rotate,从最老的文件开始清理 未亲测.
- 【锋利的JQuery-学习笔记】Tootip(提示框)
效果图: 1.当鼠标移动到超链接时,有提示框. 2..当鼠标移动到图片动画旋转 html: <div id="jnNotice"> <div id="j ...