关键字 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、接口是给类区实现的,非抽象类实现接口时,必须将接口中的方法都实现

原文地址:https://www.cnblogs.com/lgl-19960210/p/6083334.html