JAVA基础(五)·高级类特性

来源:互联网 发布:张孝祥的java就业教程 编辑:程序博客网 时间:2024/06/05 12:46

一、static关键字

在JAVA中,可以将一些成员限制为和类相关的,而不是和实例相关的。实现:在类的成员例如:方法,属性,自用代码块前加上static修饰符。

实例变量用于描述单个实例的状态,而类变量用于描述类的状态,和具体的实例无关。

public class TestStatic { public static int count = 0;  public TestStatic(){  count++; }  public static int getCount(){  return count; }  public static void main(String[] args) {  TestStatic t1 =new TestStatic();  System.out.println(t1.count);    //第二次调用会在原来的基础上+1,而不是初始化为0再+1  TestStatic t2 = new TestStatic();  System.out.println(t2.count);  //因为是类成员,所有可以这样调用:类名.*来直接调用他们  System.out.println(TestStatic.count);  System.out.println(TestStatic.getCount());  /*         输出结果:1                   2                   2                   2 */}}

  二 、final关键字

   在JAVA的类,方法和变量前面,可以加上final关键字。final关键字表示它修饰的类,方法或变量不可被改变。final类不可以被继承。如:java.lang.Math

   final变量可以称为常量。

三、抽象类(abstract)

     在类中对一些方法进行定义,但是不具体实现,而是将这些方法的实现放到它的子类中去。抽象类里面并非需要抽象方法,当你定义了一个类,但是又不想被它直接实例化的时候,可以使用抽象类的方法实现。反之,如果类中有抽象方法,则一定将类定为抽象类。

      满足以下任一条件,必须定义为抽象类:

        (1)类中有至少一个抽象方法;

         (2)类继承了父类中的抽象方法,但是至少有一个抽象方法没有实现;

          (3)类实现了某个接口,但没有全部实现接口中的方法;

四、接口

    接口是方法声明和常量值得定义的集合。在抽象类中,有些方法被实现,而有些方法只有方法的声明,没有方法的具体实现(抽象方法),而在接口中,所有的方法都没有被实现。和抽象类中的抽象方法不一样,这些没有被实现的方法不需要加上关键字abstract来将它声明为抽象方法。

     (1)接口的继承:使用extends完成,一个子接口可以继承多个父接口。

    (2)接口的使用:在子类中使用implements实现接口,一个实现了的接口的类,必须将它实现的接口中的方法都实现,或者将没有实现的方法定义为抽象的方法,此时,类也必须定义为抽象的类。


0 0