A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈郊 中级黑马   /  2012-10-4 09:59  /  1278 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

第九天    总结
1.   Final关键字
          通过继承,让类与类之间存在了关系,但是继承也破坏了封装性。如果在操作过程,进行恶意的重写,那么会给我们的程序带来问题。java中怎样可以去避免继承,可以通过final关键字。
1.java中声明类、属性和方法时,可以使用关键字final来修饰。
2.final标记的类不能被继承。
3.final标记的方法不能被子类重写。
4.final标记的变量(成员变量和局部变量)即成为常量,只能赋值一次。但是这个常量只能在这个类的内部使用,不能在内的外部直接使用。
什么时候使用final修饰变量
       我们在程序开发中,如果发现某个成员变量,其值不可以进行改变操作,那么为了程序的安全,就应该将这个成员变量定义为fianl,例如,double PI=3.14。它的值就不应该被改变,应该声明成  final double PI=3.14
                     Static  final String[] cs={"黑桃","红桃","方块","梅花"};
       如果一个变量是由final修饰的那么它的命名规范: 所有字母都大写,如果由多个单词组成,用_分隔
       private 只是进行权限控制,如果使用了,那么在子类不可以使用
       final 是不可以被重写,但是在子类可以使用.      
2.   抽象类和抽象方法
Java中可以定义一些不含方法体的方法,它的方法体的实现交给该类的子类根据自己的情况实现,这样的方法就是抽象方法,包含的类就是抽象类。一个抽象类可以包含多个抽象方法。
注意:抽象方法必须是abstract修饰符来定义的,任何带有抽象方法的类都必须声明成抽象类。如果一个类继承了抽象类,那么子类必须将父类中的所有抽象方法进行重写.
抽象类:abstract来修饰的类
抽象方法:abstract来修饰的方法
抽象方法作用:它只是定义具有的行为,而没有具体的方法体。简单说,抽象方法中有方法声明,而没有执行内容。
抽象特点:
       1.抽象类用abstract修饰  抽象方法也是用abstract来修饰
       2. 如果一个类中有abstract方法,那么这个类也必须是abstract
       3.子类如果继承抽象类,那么必须将父类中的所有抽象方法重写.
       4.抽象类不可以实例化,不可以去new.抽象类的作用就是让子类继承进行重写.(因为抽象类中的抽象方法没有方法体,得到这个类的对象调用这个上方法没意义,所有不允许实例化抽象类)
              示例
                     宝马车
                     奔驰车
                     行驶行为
                     对于宝马与奔驰都有行驶的方法,我们可以将其进行抽取,形成一个Car类,这个类中
                     有一个行驶的方法,这个方法可以让宝马,奔驰进行重写。
                     但是在Car类中,这个行驶的方法需要具体的方法体吗?
抽象类的好处:
       1.将子类对象共性的行为进行抽取,让子类在继承时,必须进行重写。父类中只有行为的声明,而没有具体的实现。
       2.抽象类进行了规则的制定,有强制作用。
什么时候使用抽象
       多个对象具有共同的行为,但是行为的实现不同,我们可以将这些行为进行抽取,但不抽取具体的实现,这时就可以使用抽象方法。如果一个方法是抽象的,它所在的类必须是抽象类。      
抽象的细节
              1.抽象类中是否可以没抽象方法   java.awt.* 包下的类有这样的操作.
              2.抽象类是否可以继承
                     可以继承普通类
                     可以继承抽象类,如果子类继承了抽象类,并且没有对抽象方法进行重写,那么这个子类也是一个抽象类
              3.抽象类有没有构造方法
                     可以有构造。抽象类的作用是让子类继承,构造方法是让子类进行初始化.抽象类也是一个类,具有类的特征,所有也要有构造方法,但是它的作用不是为了进行自己的初始化,是为子类给提供初始化。
              4.abstract与其它修饰符关系
                     final:它的作用 修饰类代表不可以继承  修饰方法不可重写
                     abstract修饰类就是用来被继承的,修饰方法就是用来被重写的。
                     finalabstract不能共存. static修饰的方法可以用类名调用,对于abstract修饰的方法没有具体的方法实现,所有不能直接调用,也就是说不可以与static共存.
                     Private:private修饰的只能在本类中使用,abstract方法是用来被子类进行重写的,有矛盾所以不能共存.

评分

参与人数 1技术分 +1 收起 理由
王海宇 + 1

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马