黑马程序员技术交流社区

标题: Java——static修饰符、final修饰符、abstract修饰符、接口 [打印本页]

作者: double[K]    时间: 2016-11-19 23:23
标题: Java——static修饰符、final修饰符、abstract修饰符、接口


一、static修饰符

static修饰符可以修饰变量、方法或代码块

用static修饰的变量叫静态变量。

静态变量有如下注意事项:

    类中的静态变量属于类,而不属于某个特定的对象。
    类的静态成员可以与类的名称一起使用,而无须创建类的对象。(可以直接通过类名来访问静态变量,建议使用类名来调用静态变量)
    静态变量或方法也称为类的变量或方法。
    不管创建了类的多少实例,整个类中静态变量的副本只有一个,声明为static的变量实质上就是全局变量。

静态方法

    类的静态方法只能访问其他的静态成员,不能访问非静态成员。
    静态方法中没有this关键字。
    静态方法不能被覆盖(重写)为静态方法。

静态代码块

静态代码块是由static和{}组成的代码片段

静态代码块使用时有如下注意事项:

    如果需要通过计算来初始化静态变量,可以声明一个静态块。
    静态块仅在该类被加载时执行一次。
    只能初始化类的静态数据成员。

二、final修饰符

final修饰符可修饰类、方法和变量。final在修饰类、方法和变量时表示的意义是不同的,但本质是一样的,即final表示不可改变。

final修饰类

    final修饰的类不能被子类继承。

final修饰方法时,有如下规定:

    使用在方法声明中使用final关键字向编译器表明子类不能覆盖此方法。
    使用在声明类中,一个final方法只能被实现一次。
    使用如果一个类为final类,那么它的所有方法都为隐式的final方法。

final修饰变量

    一个变量可以声明为final,这样的目的是阻止它的内容被修改。
    声明final变量后,变量只能被初始化一次,然后就不能对其值进行修改了,一个final变量实质上是一个常量。

三、abstract修饰符

abstract修饰符用来修饰类和方法,使用abstract修饰符有如下规则:

    修饰的类即为抽象类,不能被实例化。
    构造方法和static方法不能是抽象的。
    父类的抽象方法往往在子类中实现,抽象类可以具有指向子类对象的对象引用。

抽象类中的方法既可以是具体方法也可以是抽象方法,但一个类中如果有抽象方法那么这个类一定是抽象类。

四、接口

其实接口就是一套规范。

在Java中,使用interface关键字来定义接口,接口中的方法都只有声明,没有方法主体,也可以理解为接口中只能有抽象方法。接口就是用来被子类实现的,这样可以让不同的子类遵守相同的规范,但却又有自己的实现。

作者: sunxiaobo    时间: 2016-11-19 23:47
我们明天学这些

作者: double[K]    时间: 2016-11-19 23:59
今天先看看




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2