修饰符(final,static,abstract)
2008-12-15 17:29
381 查看
1 static 修饰符
/*static 修饰符
* static修饰类类的成员变量,表示该成员变量为静态变量(类变量)
* static修改方法表示该方法为静态方法(类方法)
* static修饰代码块表示静态代码块
*
* 类变量和类方法,静态代码块 是归类所有的,它不依赖于类的特定实例,
* 被类的所有实例多共享,在类被加载的时候就被加载并且只加载一次(内存中的方法区内)
*/
public class StaticClass {
static int i;
static {
i++;
}
public static void display()
{
System.out.println(i);
}
public static void main(String [] args){
StaticClass.display();
StaticClass sc1 = new StaticClass();
sc1.i++;
StaticClass sc2 = new StaticClass();
sc1.display();
sc2.display();
}
}
2 final修饰符:
/*final修饰符:
* final修饰基本变量表示该变量为产量,不能被改变(修饰成员变量时定义的时候设置值或者在构造方法结束前设置值 只能设置一次)
* final 修饰引用类型的变量时 表示该变量所指向的对象不能在改变,而所指向对象的内容可以改变
* final修饰方法的时候表示该方法不能被重写
* final修饰类的时候表示该类不能被继承
*/
//final类不能被继承
public final class FinalClass {
public final double PI = 3.14;//定义的时候显示的初始化 或者在构造方法内初始化 只能初始化一次
private String name;
public void setName(String name){
this.name = name;
}
public FinalClass(){
//this.PI = 3.14;
}
public final void dispaly(){ //该方法不能被重写
System.out.println("PI : "+ PI);
}
public static void main(String [] args){
final FinalClass f1 = new FinalClass();
//错误 final类型的引用变量不能在指向其他的对象 当所指向的对象内容可变
f1 = new FinalClass();
f1.setName("Jack");
}
}
3 abstract修饰符:
abstract修饰类表示该类为抽象类不能被实例化
abstract修饰的方法表示该方法为抽象方法 没有方法体(具体的实现),有抽象方法的类必为抽象类
抽象类里不一定具有抽象方法 当有抽象方法的类必为抽象类
abstract修饰符与private,static,final 连用会导致编译错误(因为abstract表示需要继承或重写 private,static,final则表示不能被继承或重写)
/*static 修饰符
* static修饰类类的成员变量,表示该成员变量为静态变量(类变量)
* static修改方法表示该方法为静态方法(类方法)
* static修饰代码块表示静态代码块
*
* 类变量和类方法,静态代码块 是归类所有的,它不依赖于类的特定实例,
* 被类的所有实例多共享,在类被加载的时候就被加载并且只加载一次(内存中的方法区内)
*/
public class StaticClass {
static int i;
static {
i++;
}
public static void display()
{
System.out.println(i);
}
public static void main(String [] args){
StaticClass.display();
StaticClass sc1 = new StaticClass();
sc1.i++;
StaticClass sc2 = new StaticClass();
sc1.display();
sc2.display();
}
}
2 final修饰符:
/*final修饰符:
* final修饰基本变量表示该变量为产量,不能被改变(修饰成员变量时定义的时候设置值或者在构造方法结束前设置值 只能设置一次)
* final 修饰引用类型的变量时 表示该变量所指向的对象不能在改变,而所指向对象的内容可以改变
* final修饰方法的时候表示该方法不能被重写
* final修饰类的时候表示该类不能被继承
*/
//final类不能被继承
public final class FinalClass {
public final double PI = 3.14;//定义的时候显示的初始化 或者在构造方法内初始化 只能初始化一次
private String name;
public void setName(String name){
this.name = name;
}
public FinalClass(){
//this.PI = 3.14;
}
public final void dispaly(){ //该方法不能被重写
System.out.println("PI : "+ PI);
}
public static void main(String [] args){
final FinalClass f1 = new FinalClass();
//错误 final类型的引用变量不能在指向其他的对象 当所指向的对象内容可变
f1 = new FinalClass();
f1.setName("Jack");
}
}
3 abstract修饰符:
abstract修饰类表示该类为抽象类不能被实例化
abstract修饰的方法表示该方法为抽象方法 没有方法体(具体的实现),有抽象方法的类必为抽象类
抽象类里不一定具有抽象方法 当有抽象方法的类必为抽象类
abstract修饰符与private,static,final 连用会导致编译错误(因为abstract表示需要继承或重写 private,static,final则表示不能被继承或重写)
相关文章推荐
- 修饰符(static、final、abstract)第二篇
- Java中的修饰符说明(public,private,protected,default,final,abstract,static)
- java中的三大修饰符static、final、abstract
- Java修饰符:public、protected、private、abstract、static和final区别
- Java修饰符 abstract,static,final 的区别详解
- Java基础(八) Java修饰符及接口详解之(一)static/final/abstract关键字及接口的使用
- java中的修饰符static/final/abstract/
- Java修饰符 abstract,static,final 的区别详解
- Java修饰符 abstract,static,final 的区别详解
- Java修饰符 abstract,static,final 的区别详解
- java学习笔记(三)java中的修饰符abstract、static与final
- java中的修饰符static,final和abstract
- Java修饰符 abstract,static,final 的区别详解
- java基础知识之——(static final abstract 三个修饰符)
- Java修饰符:public、protected、private、abstract、static和final区别
- java ----------static final abstract 等修饰符以及接口定义
- static final abstract 三个修饰符的总结
- Java修饰符abstract,static,final的区别
- 三个修饰符(abstract,static,final)
- static final abstract 三个修饰符的总结