继承
1.基本介绍
  面向对象程序设计三大原则之一。被继承的称为父类,继承类称为子类。
关键字:extends
例子:

 class TwoDshape{
   double width;
   double height;

   void showDim(){
     System.out.println("Width and height are "+width+" and "+height);
   }
 }

 class Triangle extends TwoDShape{
   String style;

   double area(){
     return width*height/2;
   }
   void showStyle(){
     System.out.println("Triangle is "+style);
   }
 }

  子类继承父类的成员(变量和方法),并且可以拥有自己独有的成员。
  Java不支持多继承,一个类只能有一个父类。

2.继承中的成员访问控制
  继承不会突破private的访问限制,子类不能直接访问父类中的private成员,即使他也拥有这些成员

3.继承和构造函数
  在生成有继承关系的类的对象时,父类的构造函数构造父类部分,子类的构造函数构造子类部分。
  子类构造函数中第一行代码,必须用super(parameter-list);来调用父类构造函数。

4.super/this
  如果子类有和父类同名的成员,那么子类成员会覆盖父类成员,这时如果想要调用父类成员,就要用super.成员名
  调用本对象中的成员时,用this.成员名
  this()表示在一个构造函数中调用本类的无参构造函数,必须是构造函数中第一个有效语句
  super()表示在一个子类中的构造函数中调用父类的无参构造函数,必须是构造函数中第一个有效语句
      注意:super()、this() 都要求第一的位置,所以他们不能再同一个构造函数中共存!!

5.引用
  父类引用可以引用子类对象,但这时只能调用父类成员,如果要调用子类成员要把引用强转为子类引用。
子类引用不能引用父类对象!

6.方法重写
  子类中可以有这样一种方法,它的返回类型和签名同父类中的一个方法完全一样,但是方法体却不同,这样的

情况叫做重写。父类中的方法被子类覆盖,要调用父类中的被重写的方法,需用super关键字。
  重写机制可以使得父类引用变量通过引用不同的子类对象,使用同样的方法名实现不同的功能,这时Java实现

多态的一种手段。
  注意:父类引用变量引用子类对象,调用被重写的方法时,调用的是子类中重写了的方法,而不是父类中被重

写了的方法。

7.final
在方法前,方法不能被重写
在类名前,类不能被继承
在成员变量前,变量成为常量

8.Object类
Object类是所有类的父类

Java学习日记-6 继承的更多相关文章

  1. 1.8(java学习笔记)继承与方法的重写

    继承 在java中可以通过继承提高代码的复用率. 例如A继承了B,就可以是 例如,首先有一个类似Person,这个类中有有一些属性和方法,我们再新建一个Student类,其中有一部分属性和方法与Per ...

  2. Java学习日记基础篇(六)—— 抽象类、接口、final

    抽象类 为什么要有抽象类? 因为父类方法有不确定性,我们在Animal中定义了一个方法,但是它会被子类的方法覆盖掉,我们就不知道这个方法原本是做什么的 public class test1 { pub ...

  3. Java学习之面向对象---继承

    继承:子继承父,子可以拥有父的所有. 继承的好处: 1.提高了代码的复用性 2.让类与类之间产生了关系.有了这个关系,才有了多态的特性 Java 只支持单继承,不支持多继承 class A { voi ...

  4. Java 学习笔记(6)——继承

    之前说过了Java中面向对象的第一个特征--封装,这篇来讲它的第二个特征--继承.一般在程序设计中,继承是为了减少重复代码. 继承的基本介绍 public class Child extends Pa ...

  5. Java学习--封装、继承、多态

    接下来几天会根据http://www.cnblogs.com/chenssy/category/525010.html中讲解的java内容做个学习笔记,在此感谢一下这位大仙!! 一.封装 对于封装而言 ...

  6. Java学习日记基础(五)——类、对象之this、静态变量(类变量)、静态方法(类方法)、四大特征

    this 赵本山问奥尼尔:“我的爸爸的爸爸是谁?” 奥尼尔:“不知道” 赵本山:“你傻啊,是我爷爷” 奥尼尔回去问科比:“我的爸爸的爸爸是谁?” 科比:“不知道” 奥尼尔:”你傻啊,是赵本山的爷爷“ ...

  7. Java学习日记之 Java-IO流

    Java中的IO流在处理上分为字节流和字符流.字节流和字符流的区别 : 1.字节流读取的时候,读到一个字节就返回一个字节:  字符流使用了字节流读到一个或多个字节(中文对应的字节数是两个,在UTF-8 ...

  8. Java学习笔记之继承

    一.继承的基础 在Java术语中,被继承的类叫超类(superclass)或者父类,继承超类的类叫子类(subclass). 举例说明: class Box { public double width ...

  9. java学习面向对象之继承

    在我们编写程序的过程当中,会遇到这种情况: 比如现在有一个狗,他的功能有跑,有跳,有吃,有叫,属性有雌雄,大小,颜色等等,同时现在我们也有一个猫,上述功能她也有.这个时候我们写代码的时候,就得分别把上 ...

随机推荐

  1. JS可控制的图片自动循环播放查看效果

    JS可控制的图片自动循环播放查看效果 <html> <head> <title>JS可控制的图片自动循环播放查看效果丨芯晴网页特效丨CsrCode.Cn</t ...

  2. 3xian之所在

    最后一天,漫天飘起了雪花,假装欢送我离去. 这次WF之战不太顺利,早期的C题大概花了1秒钟构思,然而由于输出格式多了一个空格直到两个半小时才逃脱Wrong Answer的纠缠.还好lynncui在期间 ...

  3. angular中ueditor插件的使用

    #在angularjs中使用ueditor编辑器需要注意事项: 在ui-view中使用放置ueditor的div,页面加载时编辑器在页面中是不显示的,需要通过指令手动replay 例: /** * u ...

  4. Ci 自己的分页类【原创】

    这里是自己手写的一个CI分页类的实现 <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); /** ...

  5. (转)PHP函数spl_autoload_register()用法和__autoload()介绍

      转--http://www.jb51.net/article/29624.htm 又是框架冲突导致__autoload()失效,用spl_autoload_register()重构一下,问题解决 ...

  6. (转)PHP函数set_magic_quotes_runtime()的作用

    新手经常遇到的问题是特殊字符提交的时候提示数据库错误,今天给大家介绍一个set_magic_quotes_runtime函数,来帮助我们过滤里面的内容 php函数 set_magic_quotes_r ...

  7. android studio主题设置-笔记3

    主题背景设置(就是工具黑色背景还是白色背景),路径:File-Settings-Appearance

  8. [!] CocoaPods was not able to update the `master` repo...

    输入pod install之后出现: [!] CocoaPods was not able to update the `master` repo. If this is an unexpected ...

  9. C#设计模式-创建型模式(转)

    一.简单工厂模式 简单工厂模式Simple Factory,又称静态工厂方法模式.它是类的创建模式.是由一个工厂对象决定创建出哪一种产品类的实例,是不同的工厂方法模式的一个特殊实现. 优点: u 模式 ...

  10. react服务端渲染(同构)

    学习react也有一段时间了,使用react后首页渲染的速度与seo一直不理想.打算研究一下react神奇服务端渲染. react服务端渲染只能使用nodejs做服务端语言实现前后端同构,在后台对re ...