@[toc]
继承是面向对象三大特征之一,继承可以让我们减少代码量,实现类的复用
1.继承的作用
- 代码复用,更加容易实现类的扩展
- 方便建模
2.继承的关键字
extends,顾名思义,extends的字面意思是扩展,子类是父类的扩展,在日常生活中,继承无处不在。
3.继承的特点
1.通过extends关键字来继承
2.子类继承父类的属性和方法(但不见得可以直接访问,如父类的私有属性和方法),但是不继承构造方法
3.如果调用一个类的时候,没有使用extends,那么该类的父类是Object
4..java中只有单继承,没有多继承。
4.实例
public class Test{
public static void main(String[ ] args) {
Student s = new Student("张三",180,"数学");
//调用了父类中的方法。
s.rest();
s.study();
}
}
class Person {
String name;
int height;
public void rest(){
System.out.println("休息一会!");
}
}
class Student extends Person {
String subject;
public void study(){
System.out.println("正在上数学课");
}
public Student(String name,int height,String subject) {
//拥有父类的属性
this.name = name;
this.height = height;
this.subject = subject;
}
}
运行结果如下:
5.instanceof 运算符
instanceof 是二元运算符,左边是对象,右边是类;当对象是右面类或子类所创建对象
时,返回 true;否则,返回 false。
实例:
import java.sql.SQLOutput;
public class Test{
public static void main(String[ ] args) {
Student s = new Student("张三",180,"数学");
System.out.println(s instanceof Person);
System.out.println(s instanceof Student);
// s.rest();
// s.study();
}
}
class Person {
String name;
int height;
public void rest(){
System.out.println("休息一会!");
}
}
class Student extends Person {
String subject;
public void study(){
System.out.println("正在上数学课");
}
public Student(String name,int height,String subject) {
//拥有父类的属性
this.name = name;
this.height = height;
this.subject = subject;
}
}
运行结果如下:
s对象属于Student,然后Student继承了Person, 所以输出结果为true