JAVA入门-面向对象之继承
一、继承
继承是指一个类的定义可以基于另外一个已经存在的类,即子类基于父类,从而实现父类代码的重用,子类能吸收已有类的数据属性和行为,并能扩展新的能力。
子类又叫派生类,父类又叫基类或者超类
1、继承的作用
代码复用
子类对象可以直接调用父类的属性和方法
2、继承的格式
class Fu { }
class Zi extends Fu{ }
3、继承的特点
1)java只支持单继承,不支持多继承
2)一个类只能有一个父类,不可以有多个父类,父类能有多个子类
3)java支持多层继承,格式:
class A { }
class B extends A { }
class C extends B { }
4)java中每一个类都继承于object类
4、super关键字
super和this的用法相同,this代表本类引用,super代表父类引用
子类要调用父类构造函数时,可以使用super语句
5、final关键字
1)final修饰的类不可以被继承
2)final修饰的方法不可以被重写
3)final修饰的变量是一个常量,只能被赋值一次
二、Object的介绍
object常用方法
toString() //返回对象的字符串表示形式
hashcode() //返回对象的哈希码值。
equals() // 将两个对象属性的内容进行比较,如果内容相同,则返回true,否则返回false
三、重写
1、重写的概念
子类中出现与父类一模一样的方法时,会出现覆盖操作,称为重写或复写
在子类覆盖方法中,继续使用被覆盖的方法可以通过super.函数名获取
2、重写注意事项
1)父类中的私有方法不可以被覆盖
2)静态只能重写静态
3)返回值类型必须一样
4)参数类型和参数个数也得一样
3、重写和重载的区别
重载:
同名不同参,让方法有多种可能性
重写:
子类重写父类的方法,实质上是对父类方法的重新定义
四、子类的实例化过程
1,JVM会读取指定的路径下的class文件,并加载进内存,并会先加载父类(如果有直接的父类的情况下) 2,在堆内存中开辟空间,分配地址 3,并在对象空间中,对对象中的属性进行默认初始化 4,调用对应的构造函数进行初始化 5,在构造函数中,第一行会先调用父类中构造函数进行初始化 6,父类初始化完毕后,再对子类的属性进行显示初始化 7,进行子类构造函数的特定初始化 8,初始化完毕后,将地址值赋值给引用变量
网友评论