• 关键字 extends(继承)、instanceof、final(修饰符,最终值)、abstract(抽象)、interface(接口)的使用


    继承: 关键字:extends

    作用:减少代码的重复使用

    使用继承的前提

    两个类之间必须有间接或者直接的联系 比如is a的关系(小明是个人),才能拥有继承关系,不是任何情况下都允许继承

     例:class Zi extends Fu{}

    继承的使用注意点:

    1、子类不能继承父类的私有变量

    2、子类不能继承父类的构造方法

    3、子类在调用自己的构造方法时,会默认调用父类的无参构造 方法(如果父类没有无参构造,在编译的时候系统会默认创建一个无参构造;但是父类有构造方法,就不会默认创建无参构造,需要自己创建)

    4、私有方法不能被继承

    5、子类不能继承不在一个包中默认权限的成员变量(默认权限 friendly 友好的、privatepublicprotected

    关键字:instanceof

    1、用来判断某个对象是否属于某个类

    2instanceof 使用前提:对象指定的类有继承关系或者实现关系

     格式:对象 instanceof 类      例:小明 instanceof  

    关键字:final (修饰符,最终值)

    final作用:

    1、如果用一个final修饰一个基本数据类型变量,就不能再重新赋值

    2、用final修饰引用数据类型变量,无法给引用数据类型变量赋值

    3final 修饰一个方法,方法不能被重写

    4final修饰类,类不能被继承

    5final修饰的对象,如果地址不一样(作用域不同),可以重新赋值

        例: final Yuan y = new Yuan(10);

    y = new Yuan(100); //无法重新赋值 0x98

     public static void test(Yuan y){

            y = new Yuan(20);  //可以重新赋值 0x22

         }

    6、表示常量

    格式:public final static 基本数据类型  变量名

    例:public final static int  a = 10;//a 表示10,不能改变

    final修饰的变量必须要初始化:

    例:final double pi = 3.14;//如果没有值3.14 就会报错

    抽象类:

    一个类如果被abstract修饰,那么这个就叫做抽象类

    关键字: abstract

    1abstract修饰的类叫做抽象类

    2abstract修饰的方法叫做抽象方法

    如果一个类继承了抽象类,必须要实现类中的所有抽象方法

     例: abstract public void run ();//抽象方法是没有主体,没有方法的具体实现。

       

      //如果继承抽象类需要重写抽象类中的run方法

        public void run(){
          //具体实现代码
               }

    abstract关键字的使用:

    1、如果一个方法中没有方法体,那么这个方法必须要用abstract来修饰(方法体:方法中大括号的内容就是方法体)

    2、一个类中有抽象方法,那么这个类必须用abstract修饰

    3、一个非抽象的类继承了抽象类,那么这个非抽象类必须重写(实现)抽象类中所有的抽象方法

    4、抽象类中可以有非抽象方法

    5、抽象类中可以存在构造方法。作用是让子类能够初始化父类的变量

    6、抽象类不能创建对象。原因:如果可以创建对象,对象就可以调用抽象方法,这样的调用没有意义

    7、抽象类中可以没有抽象方法

    abstract不能和哪些关键字使用:

    1、不能和private一起使用

    2、不能和static一起使用

    3、不能和final一起使用

    abstract 关键字的使用场景:

    我们在描述一个事物的时候,发现这个事物确实存在某种行为,但是这种行为又不具体那么我们就可以抽取这种行为,声明一个没有实现的行为,这种行为就做抽象行为,那么这个时候就需要到抽象类

    接口:

    关键字:interface   定义接口

    格式:interface 接口名{}  

    作用:

    1、用来添加拓展功能

    2、让程序解耦

    3、定义约束

    实现方法:implements    实现接口

    格式:class implements 接口名1,接口名2....{}

    接口使用注意的事项:

    1、接口是一个特殊的类,可以定义属性和方法

    2、属性默认用final修饰(使用时必须初始化值)

    3、方法都是抽象的,abstract修饰(没有方法体)

    4、接口不能创建对象

    5、接口没有构造方法

    6、接口是给类区实现的,非抽象类实现接口时,必须将接口中的方法都实现

  • 相关阅读:
    (转)js中的hasOwnProperty和isPrototypeOf方法
    backbonejs和requirejs的实例
    判断 iframe 是否加载完成的完美方法(转)
    解决 sublime 的 日常误操作
    动图展示16个Sublime Text快捷键用法 ---------------物化的sublime
    CSS中最合理ID/CLASS的命名规范 —— 绯色的css 系列
    DIV 浮动层 绝对定位居中浮动 用CSS怎么写 —— 绯色的CSS系列
    [转载] CSS样式表IE条件注释(if IE)备忘—— HACK 系列
    [转载]Node.JS平台上的数据库Redis,MongoDB,HBASE,MySQL
    页面加载速度优化的12个建议
  • 原文地址:https://www.cnblogs.com/lgl-19960210/p/6083334.html
Copyright © 2020-2023  润新知