1.关键字extends

1.继承作用

    优化代码,减少代码的重复使用。

2.继承使用时机

    两个类之间必须要满足is a的关系 ,才能够拥有继承关系,不是任 何 情况下都允许继承

3.继承的使用注意事项

  a)子类不能够继承父类的私有的变量。

  b)子类不能够继承父类的构造方法。

  c)子类在调用自己的构造方法时,会默认调用父类的无参构造。

  d).私有方法不能被继承。

  f)子类不能够继承不在一个包中默认权限的成员变量。

为什么会调用父类的构造方法?

  子类在创建对象的时候初始化父类的变量。

注意:当类调用自己的构造函数时,首先要调用父类的无参构造方法,当子类初始化父类的变量时,我们可以用super()来让父类自己初始化当前的变量。


2.关键字super

 Super:代表是子类所属的父类中的内存空间引用。

1.super关键子的作用

1、当子类和父类存在同名的成员变量时,可以通过super来调用父类的成员变量。

  2、super可以用来调用父类的构造方法。

2.super使用的注意事项:

1、用super调用父类的构造方法,必须是构造方法中的第一个语句。

2、super只能出现在子类的方法和构造方法中。

3、super和this不能够同时调用构造方法。

3.super和this的区别

  1.代表的事物不一样:

      this:代表是本类类型的对象引用。

         super:代表是子类所属的父类中的内存空间引用。

  2.使用前提不一致:

      this:在非继承的条件下也可以使用

      super:只能在继承的条件下使用

  3.调用构造方法:

      this:调用本类的构造方法

       super:调用父类的构造方法

 

注意:调用构造方法时,必须在构造方法当中的第一个位置,并且两者不能同时存在,因为构造方法中只有一个第一位置,而他们两个都必须放在第一个位置。在子类的构造方法中会默认调用父类的无参构造方法。


 

3. 方法的重写

1.重写的作用

  当父类的方法满足不了子类的实现,这个时候就要通过复写方法实现父类的行为。

2.方法重写使用注意事项

   a).方法复写时,必须存在继承关系

b).方法复写时,方法名和形式参数必须保持一致

  c).方法复写时,子类的权限修饰符必须大于或等于父类 的权限修饰符。比如:

        父类 private /public void eat()

        子类 public void eat()  

  d).方法复写时,返回值类型必须小于或等于父类的返回值类型, 并且基本数据类型的上下级关系不是很明确,所以在这里可 能会出现一点问题

        父类 public Animal  test ()

        子类 public Dog test()

3.方法的重载

   方法名一样,参数列表的个数,类型,顺序不一样。


4. 关键字Instanceof

1.作用:

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

     boolean result = p instanceof Person;

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

2. 判断一个对象继承的类。

    目前instanceof关键字没有任何作用。 后面学强制类型 转换时会用到。

      Student s = (Student) new Person();


5.关键字 final

1.final的作用

  1.如果用一个final关键字修饰一个基本数据类型变量,改变了 就不能够重新赋值,第一次的结果为最终的结果。

      final double pi = 3.14;

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

      final Yuan y = new Yuan(10);

3.如果final修饰一个方法,方法就不能够被重写。

4.如果final修饰一个类,类就不能够被继承。

2.如何用final表示常量

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

3.当我们应用了final关键字之后,那么将不能够重新赋值

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

 


6.值传递

1.基本数据类型

      当是两个基本数据类型交换的时候,我们交换的是他们的值,所以到最后的时候,原来两个数的值都没有变化

           int temp = a;

          a = b

        b = temp;

2.引用数据类型

    当是引用数据类型的时候,我们叫换的是他们的地址, 以到最后的时候,原来两个数的值都变化了

         int temp = arr[0];

      arr[0] = arr[1];

     arr[1] = temp;


7.关键字 abstract

1.抽象类定义

      如果用关键字abstract修饰了的类,叫做抽象类

        abstract class Animal

2.抽象方法

      如果用关键字abstract修饰了的方法,叫做抽象方法

        abstract public void run ();

3.方法体

      方法体就是方法中花括号包括的内容

4.abstract的作用

     1.如果一个方法没有方法体,那么这个方法必须要用abstract 来修饰。

    2.如果一个类中有抽象方法,那么这个类必须用abstract 来修饰 ,为 抽象的类。

    3.如果一个非抽象的类,继承了这个抽象类,那么这个非抽象类中必须 重写所有的抽象方法。

     4.一个抽象类中是可以有非抽象的方法。

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

    6.抽象类不能够创建对象。

     7.一个抽象类中是可以不出现抽象方法的。

5.abstract的使用场景

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

注意:非抽象类继承了抽象类,那么非抽象类必须实现抽象类中的抽象方法

6.abstract不能够和以下关键字连用

     1.不能和private。

              2.不能和static使用。

              3.不能和final一起使用


8.关键字interface

1、是用关键字interface定义的。

2、接口中包含的成员,最常见的有全局常量、抽象方法。

    注意:接口中的成员都有固定的修饰符。

    成员属性:public static final

    成员方法:public abstract

3、接口中有抽象方法,说明接口不可以实例化接口的子类必须实现了接口中所有的抽象方法后,该子类才可以实例化。否则,该子类还是一个抽象类。

4、类与类之间存在着继承关系,类与接口中间存在的是实现关系。即承用extends  ;实现用implements ;

5、接口和类不一样的地方是接口可以被多实现,这就是多继承改良后的 结果。java将多继承机制通过多实现来体现。

6、一个类在继承另一个类的同时,还可以实现多个接口。所以接口的出现避免了单继承的局限性。还可以将类进行功能的扩展。

7、其实java中是有多继承的。接口与接口之间存在着继承关系,接口可以多继承接口

8.接口作用 :用来拓展功,让程序解耦,定义约束

9 .接口的使用注意事项:

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

2.属性默认是用final修饰的  : public static final 实际上是一个 常量。

3.方法都是抽象的 : abstract public

4.接口不能创建对象。

5.接口没有构造方法。

6.接口是给类去实现的,非抽象类实现接口时,必须将接口中的 方法都实现了。

.

java 常用的一些关键字的更多相关文章

  1. Java常用关键字的原理及用法

    转载请注明原文地址:https://www.cnblogs.com/ygj0930/p/10843135.html 一:transient 用途:Java中一个类在定义时如果实现了Serilizabl ...

  2. Java常用关键字总结

    1.abstract abstract修饰类,表示抽象的意思,抽象类可以含有非抽象变量和成员变量,也可以有普通方法和构造方法,但是不能被实例化(接口),但是可以被子类继承. public abstra ...

  3. java中对final关键字的理解以及使用场景

    谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法.

  4. 浅析Java中的final关键字

    浅析Java中的final关键字 谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来 ...

  5. java常用英文解释

    java常用名词解释: OO: object-oriented ,面向对象 OOP:object-oriented programming,面向对象编程 Author:JCC Object:对象JDK ...

  6. JAVA常用数据结构及原理分析

    JAVA常用数据结构及原理分析 http://www.2cto.com/kf/201506/412305.html 前不久面试官让我说一下怎么理解java数据结构框架,之前也看过部分源码,balaba ...

  7. [转载]浅析Java中的final关键字

    浅析Java中的final关键字 谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来 ...

  8. 转载:浅析Java中的final关键字

    谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法.下 ...

  9. java中的final关键字

    谈到final关键字,想必很多人都不陌生,在使用匿名内部类的时候可能会经常用到final关键字.另外,Java中的String类就是一个final类,那么今天我们就来了解final这个关键字的用法.下 ...

随机推荐

  1. KVM 介绍(5):libvirt 介绍 [ Libvrit for KVM/QEMU ]

    学习 KVM 的系列文章: (1)介绍和安装 (2)CPU 和 内存虚拟化 (3)I/O QEMU 全虚拟化和准虚拟化(Para-virtulizaiton) (4)I/O PCI/PCIe设备直接分 ...

  2. [转]simple sample to create and use widget for nopcommerce

    本文转自:http://badpaybad.info/simple-sample-to-create-and-use-widget-for-nopcommerce Here is very simpl ...

  3. 【原】js实现复制到剪贴板功能,兼容所有浏览器

    两天前听了一个H5的分享,会议上有一句话,非常有感触:不是你不能,而是你对自己的要求太低.很简单的一句话,相信很多事情不是大家做不到,真的是对自己的要求太低,如果对自己要求多一点,那么你取得的进步可能 ...

  4. ZBrush中怎样对遮罩进行反选

    通过对ZBrush的学习,我们知道了如何手动创建遮罩,手动创建遮罩相对来说是最简单有效的方法,在某些特定的使用场合会起到事半功倍的效果.创建遮罩我们可以结合Ctrl键在物体保持编辑的状态下来执行,您可 ...

  5. 分布式系统理论之Quorum机制

    一,Quorum机制介绍 在分布式系统中有个CAP理论,对于P(分区容忍性)而言,是实际存在 从而无法避免的.因为,分布系统中的处理不是在本机,而是网络中的许多机器相互通信,故网络分区.网络通信故障问 ...

  6. PageContext

    pageContext对象 pageContext对象是JSP中很重要的一个内置对象,不过在一般的JSP程序中,很少用到它,所以知道request对象.response对象的人比较多,知道pageCo ...

  7. jmeter 监控服务器的内存,cpu等内容

    1.需要下载一个jar包,放入到lib /ext文件中  JMeterPlugins-Standard.jar 2.在服务器上安装 perfmon server agent 这里监控内存我们使用的是: ...

  8. noip2013 积木大赛

    题目描述 春春幼儿园举办了一年一度的“积木大赛”.今年比赛的内容是搭建一座宽度为n的大厦,大厦可以看成由n块宽度为1的积木组成,第i块积木的最终高度需要是hi. 在搭建开始之前,没有任何积木(可以看成 ...

  9. 理解android.intent.action.MAIN 与 android.intent.category.LAUNCHER

    刚才看了一下sundy的视频<LLY110426_Android应用程序启动>,里面讲到luncher这个activity通过获取应用程序信息来加载应用程序,显示给用户,其中就是通过一个应 ...

  10. matrix-tree

    学一发matrix-tree 原来bzoj1016这题是暴搜+玄学并查集过的-数据弱怪我咯 首先matrix-tree需要度数矩阵D,就是说当i=j时D[i][j]为i的度数,否则为0. 还有邻接矩阵 ...