黑马程序员_java入门_final,abstract,Interface

------- android培训、java培训、期待与您交流! ----------

 

一.final

final的中文意思是最后的意思,则顾名思义就是一次赋值终生不变

1.可以修饰类,函数,变量

2.final类不能被继承。里面的方法也就不能被子类复写了

3.被final修饰的变量只能够赋值一次,可以是成员变量也可以是局部变量

用final修饰的变量叫做常量,全部用大写表示

常量单词通过_链接,所有字母都是大写

4.内部类定义在类中的局部位置上时,只能访问该局部被final修饰变量,外面被final修饰的变量不能访问

 

类的修饰符:public,final,abstract

 

什么叫局部内部类?

局部内部类就是定义在一个方法中类,而方法中的类,访问一个方法中局部变量要加上final来修饰。

 

二.抽象类

其实是为了便于功能的扩展,只定义类中方法名,不定义具体方法

 

特点:1.抽象方法一定是在抽象类中

2.抽象方法必须被abstract关键字修饰

3.抽象类不可以用来new对象,必须由子类调用

4.子类如果只覆盖了部分内容,子类仍然是一个抽象类,那么这个子类仍然不能去创建对象了

5.抽象类不鞥实例化

6.抽象类中不可以定义抽象方法,只是为了不让抽象类建立对象

 

final:被final修饰的类一定是一个不能被继承的类

abstract:被abstract修饰的类一定是一个父类

private如果修饰了方法,那么就不能被复写,那么和抽象类就不能共存了

 

抽象类中是否有构造函数?

有,抽象类是一个父类,要给子类提供实例的初始化。

 

I三.Interface

什么是接口?

接口是一种特殊的抽象类,接口的方法必须全部是抽象的。一般类中方法可以不必须全部是抽象的

通常使用一个匿名内部类来实现接口

接口可以继承接口,但接口不能继承一般的抽象类,因为抽象类中可能有不抽象的方法

所以接口中的方法必须都是抽象的

 

注意事项:1.一个类可以实现多个接口,为了实现多态

2.接口中的方法必须都是public修饰的,变量都是static final的,static表示是全局的变量的变量

 

abstract和interface的区别

1.抽象类中可以有不抽象的方法,接口中的方法必须全部是抽象的

2.抽象类中的变量和方法没有默认修饰符,但是接口中的变量和方法有默认修饰符  public static final,或者public abstract

3.接口可以多实现,但不能多继承,继承可能是覆盖,但实现是补充完整

4.抽象类被继承了 ,抽象方法必须补充

5.抽象类是abstract class,接口是interface+类名

 

接口定义的特点:1常量和抽象方法

2.接口不能创建对象,要被子类全部实现后才能创建对象。

 

 

你可能感兴趣的:(黑马程序员_java入门_final,abstract,Interface)