初学者学Java(七)
来源:互联网 发布:vmware桥接网络设置 编辑:程序博客网 时间:2024/05/01 06:37
详解继承
继承是一种由已有的类创建新类的机制。利用将一群有共同属性和方法的类抽出相同点,放在同一个类中,这个类称作父类,也叫基类。然后在这个基础上添加各个类的特殊属性和方法,形成自己的类。这些类叫做子类这么做可以节省大量的代码量。Java中只允许每个子类有一个父类,Java中的继承使用extends关键字
1.使用方式:
我举个例子:
class A
{
}
class B extends A
{
}
这个程序中类B就是类A的子类,类A是类B的父类,B继承自A。
2.运行方式
B b = new B()
在运行这条语句是Java虚拟机首先调用父类的无参构造方法,生成一个父类的对象,然后在调用子类的对象,生成一个子类的对象。【要想生成子类对象,首先生成父类的对象,没有父类就没有子类】。生成子类的同时生成的父类在内存空间上是连续的。
如果父类的构造函数不是无参的,而是有参数传递的,就需要使用super()函数,使用方法如下程序:
class C
{
public C(int i)
{
i = 9;
}
}
class D extends C
{
public D()
{
super(1);
}
}
如果子类使用super()显式的调用父类中的构造函数,系统就不会去调用父类的无参的构造函数,注意:super()必须放在子类构造函数的第一行。
3.继承的特性和注意事项
继承有三个特性:
1.父类有的方法和属性,子类也有。
2.父类没有的,子类可以添加。
3.父类有的,子类可以改变。
继承的注意事项:
1.构造方法不能被继承。
2.方法和属性可以被继承。
3.子类默认的调用父类的无参构造函数。
4.父类没有无参构造函数时需用Super()去显示调用父类的有参构造函数。
5.Super()必须在子类构造方法的第一行语句。
任何类都是Object类的直接子类或间接子类
4.方法的重写
讲到这里就不得不说一下方法重写这个概念了,方法重写虽然听上去和方法重载很像,但这两个是完全不同的概念。方法重写又叫覆写,是一种发生在子类方法哈父类方法之间的一种特征。特点是方法的名字相同,返回值相同,参数类型相同,此时就是方法的重写。方法的重写是发生在两个类之间,而方法的重载是发生在同一个类之中。当两个类中的方法发生重写是子类方法可以通过super()来调用父类的同名方法。
最后说一句,一定要深刻理解继承和封装,为理解多态打好基础。
- 初学者学Java(七)
- 初学者学Java(一)
- 初学者学Java(二)
- 初学者学Java(四)
- 初学者学Java(五)
- 初学者学Java(六)
- 初学者学Java(八)
- 初学者学Java(八)
- 初学者学Java(九)
- 初学者学Java(十)
- 初学者学Java(十一)
- 初学者学Java(十一)
- 初学者学Java(十二)
- 初学者学Java(十三)
- 初学者学Java(十四)
- 初学者学Java(十四)
- 初学者学Java(十五)
- 初学者学Java(十五)
- leetcode_question_109 Convert Sorted List to Binary Search Tree
- 糗大了,java中的对象和值是不一样的
- Redesign Your App for iOS 7 之 页面布局
- Access转mysql(wordpress 转库)
- poj2955
- 初学者学Java(七)
- 当你的程序在朋友的机器上显示丢失msvcr100d.dll的时候
- Red Hat AS4-Update5 ISO [i386和x86_64]下载
- 阿里巴巴2013年算法笔试题
- 沉默3年了,该写点什么呢——什么是网络通讯?
- 语音医疗
- (LA 3708)墓地雕塑(Graveyard )
- Linux用init命令关机、重启、切换模式
- 【Copy】HTTPS连接的前几毫秒发生了什么