Java高级类(1)-1
期末复习用
static与final关键字
static变量和方法
如果一个成员被声明为static,它就能够在它的类的任何对象创建之前被访问,而不必引用任何对象。
比方说
class A{
public static int i =10;//Java中的静态变量一定要在声明时就初始化
public static void fun (){
system.out.println("I的值为"+i);
}
public static void main (String args [ ] ){
A.fun();//fun方法是static类型的,我们可以直接通过类名调用
//不需要A a =new A();
//a.fun;这样调用
system.out.println("I的值为"+A.i);//直接通过类名调用
}
}
Java中的静态变量一定要在声明时就初始化,静态变量为所以该类对象所共享。
可以将方法和变量都声明为static。
static成员的最常见的例子是main()。因为在程序开始执行时必须调用main(),所以它被声明为static。
声明为static的变量实质上就是全局变量。当声明一个对象时,并不产生static变量的拷贝,而是该类所有的实例变量共用同一个static变量。
但是我们在static 函数中是不用使用this指针的,后面补充。
注意事项:
1)它们仅能调用其他的static方法。
2)它们只能访问static数据。
3)它们不能以任何方式引用this或super(关键字super与继承有关)
final关键字
final变量
一个变量可以声明为final,这样做的目的是阻止它的内容被修改。
(类似C/C++中的const)
在声明final变量的时候,你必须初始化这个变量:
final int a=10;//之后a就是一个常量,不能被改变
final 方法
类中的方法也可以声明为final。如果声明为final方法,则子类就不能覆盖这个方法(final类中的方法都自动成为final方法)
final类
不允许扩展的类被称为final类。如果在定义类的时候使用了final修饰符就是表明这个类是final类。
如果你不想自己的类被继承可以将他用final关键词进行修饰
final class A{
}
from nuister kjr