当前位置:   article > 正文

学习总结!

学习总结!

final

  1. final是java语言中的一个关键字

  2. final表示最终的,不可改变的。

  3. final可以修饰变量以及方法,还有类等。

    final修饰的类(无法被继承)

  1. final class A{
  2. //A 是没有子孙的
  3. }
  4. class B extends A{
  5. //错误的, 无法从最终类A进行继承
  6. //B类继承A类 相当于对A类功能进行扩展
  7. //如果不希望别人对A类进行扩展,可以给A类加final关键字,如String类
  8. }

 final修饰的实例变量(必须手动赋值)

  1. /*
  2. 一般情况下
  3. 实例变量如果还没有赋值的话,系统会赋默认值
  4. final 修饰实例变量:
  5. 系统不负责赋默认值,要求程序员必须手动赋值,只能赋一次,
  6. 这个手动赋值,在变量后面赋值可以,在构造方法中赋值也可以
  7. */
  8. public class FinalTest02(){
  9. public static void main(String[]args){
  10. }
  11. }
  12. class User{
  13. //实例变量
  14. //错误: 变量age未在默认构造器中初始化
  15. //final int age;
  16. final int age=10;
  17. //在构造方法中赋值 weight只赋一次值
  18. final double weight;
  19. //构造方法
  20. public User(){
  21. this.weight=80;
  22. //系统赋默认值在这个时候,final修饰后,系统不会赋值
  23. //this.weight=0;
  24. }
  25. }

final修饰的局部变量(只能赋一次值)

  1. public class FinalTest01{
  2. public static void main(String[]args){
  3. //局部变量
  4. int i=100;
  5. //重新赋值, 没问题
  6. i=200;
  7. // 再定义一个局部变量
  8. final int k=100;
  9. //重新赋值
  10. //错误: 无法为最终变量k分配值
  11. // k=300;
  12. }
  13. }

final修饰的方法(无法被覆盖,重写)

  1. class C{
  2. public final void doSome(){
  3. System.out.println("C's doSome...")
  4. }
  5. }
  6. class D extends C{
  7. //错误,无法覆盖
  8. /* public void doSome(){
  9. System.out.println("D's doSome...")
  10. } */
  11. }

给final修饰的变量赋值的方法:

1.代码块

2.显示赋值

3.构造器

抽象类:

在面向对象的概念中,所有对象都是通过类来描述的,但是反过来,并不是多又累都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘具体的对象,这样的类就是抽象类。

在java中,一个类如果被 abstract 修饰称为抽象类,抽象类中被 abstract 修饰的方法称为抽象方法。而抽象方法不用给出具体的实现体。即没有{...}代码块。

定义抽象类和抽象方法:

  1. public abstract class Shape{//定义一个Shape抽象类
  2. public String name;//成员变量
  3. public abstract void draw();//抽象方法
  4. private abstract void method();//报错
  5. void calArea(){//普通方法
  6. System.out.println("计算面积!");
  7. }
  8. public Shape(){//无参构造方法
  9. System.out.println("Shape构造方法!");
  10. }
  11. public Shape(String name) {//有参构造方法
  12. this.name = name;
  13. }
  14. }

注意:abstract不能修饰static,final,private修饰的方法和final修饰的类。

抽象类的子类需要将父类中的抽象方法全部重写或定义为抽象类。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/377123
推荐阅读
相关标签
  

闽ICP备14008679号