网站首页 > java教程 正文
继承是面向对象软件技术当中的一个概念,与多态、封装共为面向对象的三个基本特征。继承可以使得子类具有父类的属性和方法或者重新定义、追加属性和方法等。详细视频讲解可以点击链接观看噢「链接」
继承
继承是面向对象编程的三大特征之一,继承让我们更加容易实现类的扩展。实现代码的重用,不用再重新发明轮子(don't reinvent wheels)。
继承有两个主要作用:
1、代码复用,更加容易实现类的扩展
2、方便建模
继承的实现
从英文字面意思理解,extends的意思是“扩展”。子类是父类的扩展。现实世界中的继承无处不在。比如:
图中,哺乳动物继承了动物。意味着,动物的特性,哺乳动物都有;在我们编程中,如果新定义一个student类,发现已经有person类包含了我们需要的属性和方法,那么student类只需要继承person类即可拥有person类的属性和方法。
【示例】使用extends实现继承
public class Test{
public static void main(String[ ] args) {
Student s = new Student('高淇",176,"Java");
s.rest();
s.study);
}
}
class Person {
String name;
int height;
public void rest(){
System.outprintln("休息一会! ");
}
class Student extends Person {
String major; //专业
public void study(){
System.out.println("在尚学堂,学习Java");
}
public Student(String name,int height,String major) {
//天然拥有父类的属性
this.name = name;
this.height = height;
this.major = major;
}
instanceof运算符
instanceof是二元运算符,左边是对象,右边是类;当对象是右面类或子类所创建的对象时,返回true;否则,返回false。比如:
【示例】使用instanceof运算符进行类型判断
public class Test{
public static void main(String[ ] args) {
Student s = new Student('高淇",172,"Java");
System.outprintln(s instanceof Person);
System.outprintln(s instanceof Student);
}
}
继承的使用要点
1、父类也称作超类、基类。 子类:派生类等。
2. Java中只有单继承,没有像C+ +那样的多继承。多继承会引起混乱,使得继承链过于复杂,系统难于维护。
3. Java中类没有多继承,接口有多继承。
4. 子类继承父类,可以得到父类的全部属性和方法(除了父类的构造方法),但不见得可以直接访问(比如,父类私有的属性和方法)。
5. 如果定义一一个类时,没有调用extendsr 则它的父类是: java.lang.Object.
猜你喜欢
- 2024-10-03 Java中的继承关系(java中的继承关系是)
- 2024-10-03 Java面向对象之继承(java面向对象继承例题)
- 2024-10-03 [Java基础]09.继承(java基础案例教程第二版)
- 2024-10-03 Java中的继承、封装、多态 #Java开发
- 2024-10-03 Java中的继承与组合(java中继承的概念以及使用继承的好处)
- 2024-10-03 《极简Java新手编程之道》8.1.1 Java语言中实现继承
- 2024-10-03 Java:类与继承(java类与继承抽象类)
- 2024-10-03 Java基础——面对对象-继承(面对对象的特征有哪些方面java基本数据类型有哪些)
- 2024-10-03 你真的熟悉Java中的继承与多态?给你几分钟能回答上来?
- 2024-10-03 JAVA笔记(九)面向对象——继承(面向对象程序设计中的继承)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)