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

一、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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值