详解Java面向对象中的继承
作者:久绊A 发布时间:2023-10-06 13:26:14
标签:Java,面向对象,继承
继承的概念
继承是面向对象编程中的一个概念,它允许一个类(称为子类或派生类)继承另一个类(称为父类或基类)的属性和方法。子类在继承父类的同时也可以添加自己的属性和方法,从而实现代码的复用和扩展。继承是面向对象编程的三大特征之一,其他两个分别是封装和多态。
继承的作用
1、提高代码的复用性:通过继承,子类可以直接使用父类的属性和方法,不需要重复定义。
2、便于代码的扩展:通过在子类中添加新的属性和方法,实现了代码的扩展。
3、提高代码的可维护性:将公共的属性和方法放在父类中,可以减少重复的代码,从而方便代码维护和升级。
继承关键字
extends关键字
在 Java 中,类的继承是单一继承,也就是说,一个子类只能拥有一个父类,所以 extends 只能继承一个类。
implements关键字
使用 implements 关键字可以变相的使java具有多继承的特性,使用范围为类继承接口的情况,可以同时继承多个接口(接口跟接口之间采用逗号分隔)。
super 与 this 关键字
super关键字:对父类成员的访问;this关键字:调用自己的方法。
继承类型
//extends 单继承
public class A{......}
public class B extends A{......}
//extends 多重继承
public class A{......}
public class B extends A{......}
public class C extends B{......}
//extends 不同类继承同一个类
public class B extends A{......}
public class C extends A{......}
//implements 多继承
public interface A {......}
public interface B {......}
public class C implements A,B {......}
类的继承格式
在 Java 中通过 extends 关键字可以申明一个类是从另外一个类继承而来的,一般形式如下:
class 父类 {
}
class 子类 extends 父类 {
}
实例
// 父类 Animal
class Animal{
String name;
public void setName(String name) {
this.name = name;
}
public void eat() {
System.out.println(name + "正在吃");
}
}
// 子类 Dog 继承自 Animal
class Dog extends Animal {
public void bark() {
System.out.println(name + "正在叫");
}
}
public class Test {
public static void main(String args[]) {
Dog dog = new Dog();
dog.setName("旺财"); // 设置狗的名字为旺财
dog.eat(); // 继承自父类 Animal,输出:旺财正在吃
dog.bark(); // 子类添加的方法,输出:旺财正在叫
}
}
来源:https://jiubana1.blog.csdn.net/article/details/129961367


猜你喜欢
- 环境:eclipse + spring mvc + maven1、直接看图,把数据库的配置单独拿出来放在了resources_env目录下,
- 1. 起源KV项目下载底层重构升级决定采用独立进程进行Media下载处理,以能做到模块复用之目的,因此涉及到了独立进程间的数据传递问题。目前
- 一个项目可能会有不同的环境,例如dev/stating/prod等,不同的环境的配置文件是不同的,如何根据环境快速的切换到对应的配置文件很重
- 本文实例讲述了C#端口转发用法。分享给大家供大家参考。具体分析如下:这里以链接3389的时候为例例子1:连接a机器的3389端口连不上,因为
- 开发Android应用中,随着功能越来越多,启动速度越来越慢。有没有办法让自己应用启动速度快一点呢?方法是人想出来的。先说说我的实现方法:1
- 和Android UI layout一样,我们也可以在XML中定义应用程序的菜单。通过在菜单的onCreateOptionsMenu方法中膨
- 前言我们来分析一下堆内布局以及Java对象在内存中的布局吧。对象的指向先来看一段代码:package com.zwx.jvm;public
- java编程中字节流转换成字符流的实现方法import java.io.*;/*readLine方法是字符流BufferReader类中的方
- 数据类型大小范围默认值byte(字节)8-128 - 1270shot(短整型)16-32768 - 327680int(整型)32-214
- 下面是我根据海康官方文档代码,放到VS 2022 版本中调试通过后的代码:#include <stdio.h>#include
- arthas能够更改日志的级别,下面是logger的用法查看logger信息,更新logger level查看所有logger信息logge
- AndroidSideMenu能够让你轻而易举地创建侧滑菜单。需要注意的是,该项目自身并不提供任何创建菜单的工具,因此,开发者可以自由创建内
- 目录前言传统AOP实现扩展Interceptor实现扩展ArgumentResolver扩展Filter扩展小结文章介绍了spring-bo
- 一、什么是CharacterEncodingFilter官方解释如下是spring内置过滤器的一种,用来指定请求或者响应的编码格式。在web
- 本文实例为大家分享了C#实现简单点餐系统的具体代码,供大家参考,具体内容如下实现简单点餐系统剖析1、设计界面(给菜品的序号(index),名
- 上一节我们做好了支付页面的显示,从上一节支
- 本文实例讲述了C#数字图像处理之图像缩放的方法。分享给大家供大家参考。具体如下://定义图像缩放函数private static Bitma
- 在开发Android应用程序中,经常会自定义View来实现各种各样炫酷的效果,在实现这吊炸天效果的同时,我们往往会定义很多attr属性,这样
- 流程控制语句是C语言中最基本的判断语句,通常我们可以使用IF来构建多分支结构,但同样可以使用Switch语句构建,Switch语句针对多分支
- 前言Android开发中经常使用findViewById来获取控件然后进行一些列操作,当控件太多的时候代码就非常臃肿,今天就来学习一个新的开