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

(2)java中的集中关系,is a, has a, 继承,重点聊聊继承

时间:2016-10-30 20:08:38      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:静态成员   构造方法   bsp   ora   等于   private   也有   集中   重载   

java中常见的类关系(javacore上面也有介绍道的)

  1、is a关系()

  2.has a 整体与局部的关系

  3、继承关系 是现实世界中存在而上面两种关系又无法描述的

  当然谈的最多的是继承关系,这就出现了,父类和子类。父子类之间有下面一些故事。

父子类中的一般注意事项

  子类显示调用父类的构造函数 使用关键字super(), 必须放到子类构造函数的第一行,否则会报错.

  super和this的区别

    super主要是在子类中使用,调用父类的构造方法super(),调用父类的属性方法super.x(), super.fun();

    this则主要在本类中使用只想当前对象。

 

  重写(override

    子类根据实际的需要把从父类哪里继承来的方法自己重写,方法的定义完全相同就是,方法体不一样而已。如果同一个类中两个方法的定义完全相同的话,就会报错。

 

  重载和重写的不同

    重载(overload)

      1、前提:必须在同一个类中

      2、特点:

        函数名相同,参数列表不同,与其他无关(访问控制符,返回值类型)

      3、不同点:参数个数不同,顺序不同,类型不同

    重写(override)

      1、前提:继承

      2、特点

        函数名必须相同、参数列相容返回值

        子类的返回值类型必须等于或者小于父类的返回值(这种大小,体现在一种父子关系中,就是说子类返回值应当和父类相同,或者是父类返回值类型的子类级别)

 

 


 

有关抽象类

  有抽象函数的类(用abstract修饰的函数),该类一定是抽象类。

  抽象类中不一定又抽象函数。是不是抽象类看class有没有abstract修饰

 

  抽象类不能使用new关键字创建对象

 

java中的接口

 

  java的接口其实是一种多继承

 

  接口可以继承接口,其实是一种高度的纯抽象类

 


 

说说多态

  可以说,因为有了继承才有了多态,这个可以好好体会。

  1、当父类和子类具有相同的非静态成员变量,那么在多态下访问的是父类的成员变量

 

  2.当父类和子类具有相同的静态成员变量,多态下访问的是父类的是父类的静态成员变量

 

  3、当父类和子类具有相同的非静态方法(即子类父类的方法),多态下访问的是子类的成员方法

 

  4、当父类和子类拥有相同的静态方法(即子类重写父类的静态方法),多台下访问的是父类的静态方法.

  只要是和静态相关,都是父类优先,非静态,则是子类优先。

 

 

  Java中的访问权限,声明一句话,有关访问权限的问题,说private权限是私有的,意思就是在该类中能够看到,即便是继承的子类中也是看不到的,只有通过相关的getset方法。

 

(2)java中的集中关系,is a, has a, 继承,重点聊聊继承

标签:静态成员   构造方法   bsp   ora   等于   private   也有   集中   重载   

原文地址:http://www.cnblogs.com/OliverZhang/p/6013679.html

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