码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA基础--面向对象08

时间:2017-09-26 23:40:26      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:关键字   成员   方法   功能   创建   ble   java基础   存在   需要   

一、final关键字

    有的时候不想别人重写我的方法,使用final关键字修饰该方法,final:最后的,最终的,可以修饰类、修饰函数、修饰变量,修饰类:该类不能被继承;直接写在class关键字前面

  技术分享

修饰函数:函数不能被重写;直接写在函数返回值类型前面;

  技术分享

修饰变量:变量的值不能被修改,可以成为常量;直接写在变量的数据类型前面;

技术分享

因为被final修饰的变量的值不能改变,所以被fianl修饰的变量有叫做常量;

此时,我们给他的命名的书写规范:全部字母都要大写;多个单词,可以使用下划线(_)分开;

如:       private static final double PI = 3.14;

变量的值不能改变,指的是直接保存在变量中的内容不能改变;

如果被final修饰的变量是一个引用类型的数据,那么通过这个引用改变堆空间中的数据,不会报错;

技术分享

 

二、抽象类

  1. 抽象类的产生 

    需求:创建类描述猫和狗的行为;

    猫的行为:抓老鼠;吃鱼;

    狗的行为:看家;吃骨头;

    技术分享

    技术分享

    技术分享

分析:

因为猫和狗都动物,所以可以让猫和狗分别继承动物类,然后将共同东西抽取到动物类中;

技术分享

小结:当事物的功能描述不清,只能表示有这个功能时,就应该使用抽象修饰该功能,这个功能就是抽象的功能;

如果一个类中有抽象的功能,那么这个类也是抽象的类;

  2. 抽象的特点

    a. 抽象类不能实例化     

      因为抽象类,表示一个描述不清的事物,所以不能实例化;

      技术分享

      b.子类继承抽象类,必须实现父类的所有抽象函数,否则子类也是抽象的     

        抽象类,必须由子类去继承,继承的子类必须实现父类中所有的抽象方法;

        技术分享

技术分享

 

技术分享

  c. 抽象函数必须放在抽象类中 

    技术分享   

    因为类中有抽象函数,表示描述不清的功能,所以整个类所描述的事物,也是描述不清的,所以需要将类也定义为抽象的;

  c. 注意事项

    c.1 抽象类一定是父类吗?

     是,因为抽象类就是通过不同的子类向上抽取共性信息得倒的,抽线类必须由子类去继承和重写抽象函数;

      c.2  抽象类中有构造方法吗?     

      必须有,因为抽象类需要由子类去继承,子类实例化的时候,要调用父类的构造函数,抽象类的构造函数作用是初始化本类中的成员变量的;

    技术分享

  c.3  抽象类中可以不书写抽象方法吗?  

    可以;可以只有非抽象的成员;

    同样,不能实例化;

  c.4 抽象类中可以定义非抽象的方法吗?(抽象类中可以书写普通方法和成员变量)   

    抽象类中除了抽象函数,还可以定义所有一般类中可以定义的成员;

  c.5 抽象关键字abstract不能和哪些修饰符关键字共存?  

    因为抽象的函数只有被继承的子类重写了,才可以使用,所以不能和private以及final关键字一起使用;

    static:   因为静态的函数可以直接使用类名调用,所以也不能使用static修饰抽象函数;

  c.6 抽象类什么时候使用?

    当描述的功能不确定,不知道具体怎么实现的时候,就需要使用抽象函数,这是类也是抽象的;

    不想实例化这个类(包括自己也不行),但是允许别人继承,也可以使用抽象类;

  3. 抽象类应用    

    需求:描述Hr和程序员:

    技术分享

    技术分享  

    有共同的

    技术分享

    技术分享

 

 

 

     

 

 

    

 

 

 

 

 

    

 

 

 

 

 

 

 

 

 

 

JAVA基础--面向对象08

标签:关键字   成员   方法   功能   创建   ble   java基础   存在   需要   

原文地址:http://www.cnblogs.com/Kubility123/p/7599424.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!