Java功底之static、final、this、super
看完本文后,请看转自键行天下的博客:
http://blog.csdn.net/chensheng913/archive/2004/07/05/34564.aspx
一.static
静态方法:
我们在写System.in的时候并没有用new去创建它,这是因为它是一个静态的方法,这个意味着告诉Java编译器,我这个方法不需要创建一个此类的对象即可使用。一般说来,静态方法常常为应用程序中的其他类提供一些实用工具所用,Java的类库中大量的静态方法也是出于这个目的的。
静态变量:
静态变量也叫类变量,所有的此类实例共享此静态变量,也就是说在类装载时,只分配一块存储空间,所有此类的对象都可以操控此块存储空间(final不讨论)。在虚拟机加载的时候,类变量会优于其他非static变量。在继承时候,会先加载化父类的static变量,然后是子类的。
二.final
final成员:
在定义类中变量的时候加上了final,表示一旦被初始化便不可改变,这里不可改变的意思对基本类型来说是其值不可变,而对于对象变量来说其引用不可再变。我们也经常称为常量(常量命名规范为大写)。
final方法:
将方法声明为final,那就说明你已经知道这个方法提供的功能已经满足你要求,不需要进行扩展,并且也不允许任何从此类继承的类来覆写这个方法,但是继承仍然可以继承这个方法,也就是说可以直接使用。
final类:
当你将final用于类身上时,表示类是无法被任何人继承的,那也就意味此类的设计已被认为很完美而不需要进行修改或扩展。
三.this和super
Java中this通常指当前对象,super则指父类的。当你想要引用当前对象的某个方法或某个成员,可以利用this来实现这个目的。this的另一个用途是调用当前对象的另一个构造函数。而如果引用父类的某个东西,则是super。在继承的过程中,如果子类的方法覆盖了父类的方法,想调用父类被覆盖的方法,就得用到super。其中比较特殊的是在构造函数中,this和super不是用“.”连接一个方法或成员,而是用super后加参数的是用来调用父类中具有相同形式的构造函数(例:super()),this后加参数则调用的是当前具有相同参数的构造函数(例:this())。在很多地方,有this更能使程序读的更流畅些。
final public class T3 {
/**
* @param args
*/
public static void main(String[] args) {
lable: {
int i = 0;
int a = 9;
int b;
b = a + i;
while (true) {
i++;
if (i == 2) {
break lable; //tiao dao flag
}
}
}// flag
}
public void getXXX(String... strings) {
lable: {
int i = 0;
int a = 9;
int b;
b = a + i;
while (true) {
i++;
if (i == 2) {
break lable; //tiao dao flag
}
}
}// flag
}
public void getXXXX(int a, String... strings) {
}
// public void getXXXX(String... strings, int a) {//error
//
// }
static final public void CheckXXXX() {
}
}
super.www="kf";
this.www="rty";
from: http://blog.csdn.net/it_man/article/details/1372721
Java功底之static、final、this、super相关推荐
- 常见关键字总结:static,final,this,super
https://gitee.com/SnailClimb/JavaGuide/blob/master/docs/java/Basis/final.static.this.super.md final, ...
- static java 内存_final, static,final static 分别放在jvm内存的什么地方?
比如我写一个类:public class JvmTest { public static String st_static = "hello static"; public fin ...
- Java里面static, final, this, super, 代码块, 单例模式
static关键字 package csdn;public class staticWord {public static void main(String[] args) {funStatic fs ...
- java中private string_java 中private static final String string的介绍final的意思
java 中private static final String string的介绍final的意思: final的意思是这个string类型的东西不能再被改变.也可以说是常量 static说明这个 ...
- Java面向对象——构造方法和关键字(static、this、final、super)
1 构造方法(Constructor) 1.构造方法和字段.方法一样,都是类中的成员之一: 2.构造方法的结构和普通方法类似,除了下面几点: a.构造方法的名字和类名一致(包括大小写): ...
- Java final、static final 讲解
final 与 static 的定义度娘遍地都是,这里就不再多嘴了. final:常量 ,用了它,这个东西就不能二次修改了 static: 静态变量,在类加载的时候就会被初始化 static fina ...
- java中static、final、static final浅析
final final可以修饰类.属性.方法.局部变量.参数,不能修饰接口! final修饰类:该类不能被继承(解释了为什么不能修饰接口,不过接口里面的属性.方法等是可以用final修饰的): fin ...
- java中static、final 和 static final之间的区别
java中static.final 和 static final之间的区别 static可以修饰:全局属性,方法,代码块,内部类(静态内部类或嵌套内部类) 由于静态属性和方法是属于该类的所有对象的,所 ...
- Java中static final用法小结
一.final 根据程序上下文环境,Java关键字final有"这是无法改变的"或者"终态的"含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可能出于两种理 ...
最新文章
- 半环(semiring)的数学概念
- 服务器物理内存高,服务器的物理内存高
- Processing--鼠标响应(1)
- java批量导入数据到excel
- log4j配置文件及nutch中的日志配置
- 学生用计算机中sto,STO 文件扩展名: 它是什么以及如何打开它?
- linux pipe 文件,Linux系统常用指令、管道(pipe)、文件查找(find)
- object detection错误之Could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
- 打开带图片的EXCEL文档反应慢 案例解析
- 反编译微信小程序工具之抓取小程序图片素材详细教程
- 无限循环小数四则运算_无限循环小数的加减乘除及无限循环小数转换为分数形式-何长峻...
- 学术论文写作之引言(Introduction)怎么写
- 计算机系统结构名词解释及简答题参考
- excel行数据不规则解析匹配
- flowchart.js使用总结
- STC单片机看门狗验证程序
- JAVA社招面试问题总结(一年工作经验)
- htc hd2刷android,真正的刷机之王! HTC HD2成功刷入安卓7.0
- Java 8 Stream 总结
- 歌礼丙型肝炎新药临床试验申请获批