Java final和abstract学习总结

今天复习了Java基础知识的final和abstract两个修饰符,总结如下:

final   用来修饰类、属性和方法 ;被修饰的都是不能再修改了,最终了,到头了。

1、final修饰类,这个类不能被继承。例如:String,StringBuffer,System。
2、final修饰方法,此方法不能被重写。如Object类中的getClass()方法。
3、final修饰一个属性,此属性就是一个常量,一旦被初始化赋值之后,是不能再被修改的。习惯上用大写字母来声明这个常量。
    常量赋值方法:
    ①此常量不能使用默认的初始化方法   例:final  int  I; 这样默认方法是不对的。
    ②可以用显示的方法赋值,可以用代码块赋值,也可以用构造器赋值。
      final  int  I = 100 ;          这样是可以的
      {  I = 1000;    }              代码块赋值
      public D(){ I = 1000;    }   构造器赋值

abstract 抽象的,可以用来修饰类和方法 
不能用来修饰属性,构造器(构造器不能被重写)
不能和private  final  static 共用

private   子类不能覆盖或者重写声明为private的方法
final        final是不能被重写的,abstract是希望被重写的
static      static可以直接通过类来调用,但是abstract方法是没有方法体的

1、abstract修饰的类是抽样类
    此类不可以被实例化
    此类有构造器(所有的类都有构造器)

2、abstract修饰的方法是抽象方法
①格式:没有方法体,包括{ }  例如:public abstract void eat();
②抽象方法只保留方法的功能,具体的实现交给子类,子类需要重写此抽象方法;
③若子类继承抽象类,并重写了抽象类的所有抽象方法,则此子类可以看成是一个实体类,可以被实例化;
④若子类继承抽象类,没有重写抽象类的全部抽象方法,意味着此类中仍有抽象方法,所以此类必须被定义为abstract类。

发布了23 篇原创文章 · 获赞 18 · 访问量 4760

猜你喜欢

转载自blog.csdn.net/guangtouwj/article/details/105187651