Java final static abstract关键字介绍

一,抽象类:abstract

1,只要有一个或一个以上抽象方法的类,必须用abstract声明为抽象类;

2,抽象类中可以有具体的实现方法;

3,抽象类中可以没有抽象方法;

4,抽象类中的抽象方法必须被它的子类实现,如果子类没有实现,则该子类继续为抽象类

5,抽象类不能被实例化,但可以由抽象父类指向的子类实例来调用抽象父类中的具体实现方法;通常作为一种默认行为;

6,要使用抽象类中的方法,必须有一个子类继承于这个抽象类,并实现抽象类中的抽象方法,通过子类的实例去调用;

二,接口:interface

1,接口中可以有成员变量,且接口中的成员变量必须定义初始化;

2,接口中的成员方法只能是方法原型,不能有方法主体;

3,接口的成员变量和成员方法只能public(或缺省不写),效果一样,都是public

4,实现接口的类必须全部实现接口中的方法(父类的实现也算,一般有通过基类实现接口中个异性不大的方法来做为适配器的做法)

三,关键字:final

1,可用于修饰:成员变量,非抽象类(不能与abstract同时出现),非抽象的成员方法,以及方法参数

2,final方法:不能被子类的方法重写,但可以被继承;

3,final类:表示该类不能被继承,没有子类;final类中的方法也无法被继承.

4,final变量:表示常量,只能赋值一次,赋值后不能被修改.final变量必须定义初始化;

5,final不能用于修饰构造方法;

6,final参数:只能使用该参数,不能修改该参数的值;

四,关键字:static

1,可以修饰成员变量和成员方法,但不能修饰类以及构造方法;

2,被static修饰的成员变量和成员方法独立于该类的任何对象。也就是说,它不依赖类特定的实例,被类的所有实例共享

3,static变量和static方法一般是通过类名直接访问,但也可以通过类的实例来访问(不推荐这种访问方式)

4,static变量和static方法同样适应java访问修饰符.用public修饰的static变量和static方法,在任何地方都可以通过类名直接来访问,但用private修饰的static变量和static方法,只能在声明的本类方法及静态块中访问,但不能用this访问,因为this属于非静态变量.

五,static和final同时使用

1,static final用来修饰成员变量和成员方法,可简单理解为“全局常量”!

2,对于变量,表示一旦给值就不可修改,并且通过类名可以访问。

3,对于方法,表示不可覆盖,并且可以通过类名直接访问。

六,为什么一个方法前不能同时加abstract与static 呢?

static是静态,就是在编译时已经确定的东西,当然不能是抽象(动态)的,那是运行时才能确定的东西

转自:http://www.cnblogs.com/csxf/p/3607500.html

时间: 2024-11-08 13:02:47

Java final static abstract关键字介绍的相关文章

java修饰符public final static abstract transient

JAVA 修饰符public final static abstract transient 关键字: public final static abstract ... 1.public protected default private 组 位置                        private      默认      protected        public 同一个类                    是            是         是         

final与abstract关键字

final特点: 1:这个关键字是一个修饰符,可以修饰类,方法,变量. 2:被final修饰的类是一个最终类,不可以被继承. 3:被final修饰的方法是一个最终方法,不可以被覆盖. 4:被final修饰的变量是一个常量,只能赋值一次.   其实这样的原因的就是给一些固定的数据起个阅读性较强的名称. 不加final修饰不是也可以使用吗?那么这个值是一个变量,是可以更改的.加了final,程序更为严谨.常量名称定义时,有规范,所有字母都大写,如果由多个单词组成,中间用 _ 连接.   抽象类: a

Java中static静态关键字的使用

我们可以基于一个类创建多个对象,每个对象都拥有自己的成员,所有成员变量的值是根据对象而存在的,有些时候我们希望一个类的所有对象共享一个成员,这就用到了static静态关键字 被静态关键字修饰的成员属于静态成员,它属于整个类所有,而并不仅仅是一个对象中的成员所共享,当系统第一次使用该类时,就会为其分配内存空间,直到该类被销毁是才进行资源回收,静态成员也有自己特有的访问方法 static可以修饰变量.方法.代码块 1.静态变量 因为局部静态变量和局部变量的使用方法一样,直接使用即可,所以对于类中定义

Java 抽象类和 abstract 关键字

抽象类的概念: 包含一个抽象方法的类就是抽象类 抽象方法: 声明而未被实现的方法就是抽象方法,抽象方法必须使用 abstract 关键字进行声明 需要注意的是, 1. 抽象类被子类继承时,子类(如果不是抽象类)必须重写抽象类中的『所有』抽象方法 2. 抽象类不能直接被实例化,需要通过其子类进行实例化 抽象类的定义格式: abstract class className{ 属性 方法 抽象方法 } 代码如下: package hello; abstract class Abs{ private i

java final static

一.final        根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可能出于两种理解而需要阻止改变:设计或效率. final类不能被继承,没有子类,final类中的方法默认是final的.        final方法不能被子类的方法覆盖,但可以被继承.        final成员变量表示常量,只能被赋值一次,赋值后值不再改变.        final不能用于修饰构造方法.        注意:父类的

java final .static修饰符

static静态修饰符(使用static修饰符修饰的成员变量.常量.和成员方法成为静态变量.常量和方法,他们统称为静态成员,归整个类所有,不依赖于类的特定实例,被类的所有实例共享,只要这个类被加载,JVM就可以根据类名在运行时数据区的方法区找到他们) 静态变量 对于静态变量,运行时,JVM只为静态变量分配一次内存,在加载类的过程中完成静态变量的内存分配.在类的内部,可以在任何方法内直接访问静态变量:在其他类中,可以通过类名访问该类中的静态变量. 静态变量可以被类的所有实例共享,因此静态变量可以作

Java修饰符 abstract,static,final 的区别详解

一:static 表示静态,它可以修饰属性,方法和代码块. 1.static修饰属性(类变量),那么这个属性就可以用类名.属性名来访问,也就是使这个属性成为本类的类变量,为本类对象所共有.这个属性就是全类公有.(共有的类变量与对象无关,只和类有关). 类加载的过程,类本身也是保存在文件中(字节码文件保存着类的信息)的,java会通过I/O流把类的文件(字节码文件)读入JVM(java虚拟机),这个过程成为类的加载.JVM(java虚拟机)会通过类路径(CLASSPATH)来找字节码文件. 类变量

JAVA基础之包装类,static,final,abstract ,接口 和 内部类

包装类: 自jdk5之后,java就提供了自动装箱与自动拆箱功能,大大简化了基本类型与其包装类对象之间的转换过程,当然装换过程中要注意类型的匹配. public class IntAndInteger { public static void main(String[] args) { //自动装箱 Integer intObj = 5; Integer intObjj = 5; //自动拆箱 int a = intObj; //包装类实现基本变量与字符串的转换 String str = "12

Java final、static 关键字

问:谈谈 Java 中 final.finally.finalize 的区别?   答:这道题其实没有任何意义,无非就是考察开发者有没有区分这几个关键字的含义,仅仅关联是因为长得像而已. final 是一个修饰符,如果一个类被声明为 final 则其不能再派生出新的子类,所以一个类不能既被声明为 abstract 又被声明为 final 的:将变量或方法声明为 final 可以保证它们在使用中不被改变(对于对象变量来说其引用不可变,即不能再指向其他的对象,但是对象的值可变),被声明为 final