java什么是继承?什么是父类?什么是子类?

Python016

java什么是继承?什么是父类?什么是子类?,第1张

1、继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。

2、有继承关系的类才能分出哪个是父类,哪个是子类,继承用extends关键字,extends后面的类则表示父类,extends前面的类则是子类。在java中所有的类都默认继承Object类,Object类是所有类的父类。

3、直接继承Object的类可以称之为Object的子类,间接继承Object的类可以称之为object的间接子类,object则是它的间接父类或者超类。

示例:

public class Parent{

}

public class Child extends Parent{

}

对Parent、Child来说有继承关系,则Parent是Child的父类,Child是Parent的子类。由于Parent、Child都默认继承Object类,所有Parent、Child都是Object的子类。

子类用extends

继承父类

子类可以调用父类非私有的方法,属性

父类不可以调用子类里面特有的方法属性

子类可以重写、重载父类方法

子父类和普通的类其实区别不大,你是在理解不了就拿现实中的父亲儿子来理解就行,父亲独有的,儿子不能用,儿子独有的父亲不能用,但是其他的,父亲有的儿子不是都可以用么。

父类和子类,就例如:老子和儿子,有着父子关系。而这里指的父子关系,其实也就是一种包含关系。打个比方,在我们现实生活中,学生Student是一个很大的概念,而U_Student大学生是属于学生中的一种,这里的学生即为父类,大学生即为子类。

父类和子类区别在哪?

学生和大学生都会有学习Study这个方法,但是大学生还会有自己特有的Study方法,两者还是有一定区别的,大学生的学习相较于其他学生来说,是更自由的。假如现在已经有一个学生(Student)类,然后我还要写一个大学生(U_Student)类,然后大学生UStudent类里有很多方法和Student里的方法都相同,但是还是有一小部分不同,怎样解决呢?难道还要重新写一个大学生类,并且重复敲一遍和学生类中一样的代码吗?那样浪费了时间和精力,并且浪费了存储空间,是很不划算的。所以,就有了“继承”。

子类继承父类,就是子类能引用父类中的某些东西。继承的关键字是extends,

例如:

public class Student(){}//父类

public class U_Student extends Student(){}//子类继承了父类

当子类和父类用一个同名方法,但是子类的实现却和父类不同,用到"方法重写"。

重写是指方法定义相同,但是实现不同,存在于父子类之间。

例如:

//父类

public class Student(){

//学习方法

public void study(){

System.out.println("我通过听老师讲课学习")

}

}

//子类

public class UStudent extends Student(){

public void study(){

System.out.println("我通过自习去学习")

}

}