22 Extends 继承(子类、父类)

本章主要介绍继承的 概念、方法重写(@Override注解的使用)、使用场景、方法的执行顺序
/*1.继承的 概念 * 继承:多个类有共同的成员变量和成员方法,抽取到另外一个类中(父类),在让多个类去继承这个父类,我们的多个类就可以获取到父类中的成员了。 * extends * * * Java中继承的特点: *           Java语言只支持单一继承,只能继承一个父类(一个儿子只能有一个亲爹) *           Java语言支持多层继承(一个儿子可以有一个亲爹,还可以有一个亲爷爷) * */

/*
 * 继承:多个类有共同的成员变量和成员方法,抽取到另外一个类中(父类),在让多个类去继承这个父类,我们的多个类就可以获取到父类中的成员了。
 * extends
 *
 * * Java中继承的特点:
 *             Java语言只支持单一继承,只能继承一个父类(一个儿子只能有一个亲爹)
 *             Java语言支持多层继承(一个儿子可以有一个亲爹,还可以有一个亲爷爷)
 *
 *
 *
 */
public class ExtendsDemo {
    public static void main(String[] args) {
//        DotA d = new DotA();
//        d.start();

        LOL l = new LOL();
        l.start();
        l.update();
    }
}

class Game {
    String name;
    double version;//版本
    String agent;//代理商

    public void start() {
        System.out.println("游戏启动");
    }
}

class DotA extends Game {
/*String name;
    double version;//版本号
    String agent;//代理商

    public void start() {
        System.out.println("游戏启动了");
    }

    public void stop() {
        System.out.println("游戏关闭了");
    }*/

    public void update() {
        System.out.println("游戏更新");
    }
}

class LOL extends DotA {

}

执行结果

原文地址:https://www.cnblogs.com/longesang/p/11202369.html

时间: 2024-11-09 09:55:51

22 Extends 继承(子类、父类)的相关文章

面向对象_05【类的继承:extends、重写父类】

类的继承:现有类的基础上构建一个新的类,构建出来的类被称作子类,子类可继承父类的属性和方法. 什么时候定义继承?当类与类之间存在着所属关系的时候,就定义继承.xxx是yyy中的一种==>xxx extends yyy 继承好处: 1,提高代码复用性 2,让类与类之间产生关系,给多态提供前提 单继承:一个子类只能有一个直接父类.多继承:一个子类可以有多个直接父类(Java中不允许,进行改良) ==>不直接继承,因为多个父类中有相同成员,会产生调用的不确定性 在Java是通过"多实现&q

Java中子类继承了父类的私有属性及方法吗?

最近学习继承,从书中看到子类继承父类,子类拥有父类所有的属性和方法,于是使用程序去验证,发现父类的私有属性和私有方法,子类是不能访问的,当然一些父类的私有属性可能可以通过相应的方法访问到,但是私有的方法似乎不能简单的访问,这里暂不考虑Java反射机制,于是我分析,子类不能继承父类私有的属性及方法,但是分析了内存后,我发现我是错的,在一个子类被创建的时候,首先会在内存中创建一个父类对象,然后在父类对象外部放上子类独有的属性,两者合起来形成一个子类的对象.所以所谓的继承使子类拥有父类所有的属性和方法

JavaSE8基础 不同包下的子类中,创建子类对象可以继承到父类的 受保护/公有方法

os :windows7 x64    jdk:jdk-8u131-windows-x64    ide:Eclipse Oxygen Release (4.7.0)        代码: 父类: package jizuiku; public class Person { void showDefault() { System.out.println("showDefault"); } private void showPrivate() { System.out.println(&

构造函数的继承--子类不继承父类的构造函数,只能调用

关于子类对父类构造函数的继承: 子类必须调用父类的构造函数.默认情况下会自动调用父类的无参构造函数.如果父类没有无参构造函数,则必须显式的用super()调用一个构造函数. 创建对象时,先调用父类的构造函数对对象进行初始化, 然后再调用子类自己的构造函数 子类只继承(其实是默认调用)父类的默认(无参)构造函数,如果父类重写了自己的构造函数,就会导致父类没有无参构造函数,这样子类就不能从父类继承构造函数.

类型转换,类与类之间的转换,继承关系,继承与静态变量,子类父类重名,多继承,虚基类

 常量的基本类型转换,例如:int num(10.8),这种方式是隐式转换. 通过函数的构造函数实现转换. 类类转换函数,当构造函数不能将类型转换成基本类型时.所以就有了类类转换函数,通过这种方式. 案例: #include <iostream> class fushu { public: //通过加explicit的这种方式避免隐式转换,避免引发歧义 explicit fushu(int num) { x = num; y = num; } void print() { std::cou

C++反汇编第三讲,反汇编中识别继承关系,父类,子类,成员对象

讲解目录: 1.各类在内存中的表现形式   备注: 主要复习开发知识,和反汇编没有关系,但是是理解反汇编的前提.     2.子类继承父类 2.1 子类中有虚函数,父类中有虚函数 : 都有的情况下    2.2 子类中没有虚函数,父类中有虚函数 : 子类没有,父类有的情况 2.1 2.2的情况都是一样的.     2.3   子类中有虚函数,父类中没有虚函数 : 子有父没有的的情况下    2.4 子类父类都没有虚函数的情况下 第二专题大总结. 熟悉反汇编可以直接看这个总结, 3.结合第二专题的

Java,extends,继承

1. 继承的概念: 继承在本职上是特殊--一般的关系.子类继承父类,表明子类是一种特殊的父类,并且具有父类所不具有的一些属性或方法. 2. 继承中的初始化顺序: 从类的结构上而言,其内部可以有如下四种常见形态:属性(包括类属性和实例属性).方法(包括类方法和实例方法).构造器和初始化块(包括类的初始化块和实例的初始化块).对于继承中的初始化顺序,又具体分为类的初始化和对象的初始化. 类初始化: 在jvm装载类的准备阶段,首先为类的所有类属性和类初始化块分配内存空间.并在类首次初始化阶段中为其进行

结合子类父类和LIstView适配器相关设置,初步体验类的多态。

在初级阶段,我们常对listview的适配器都是在一个activity类中全部写满.当你接触项目多了,你会发现大神都把各种适配器放一个包里,要用直接传如相关参数到适配器的构造方法设置ListView.今天做了个简单的demo,对于菜鸟理解多态有帮助.在MainActivity中代码如下 public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState)

Mybatis自动生成的BO对象继承公共父类(BO中过滤掉公共属性)

使用mybatis的代码生成工具:mybatis-generator,如果自动生成的BO都有公共的属性,则可以指定这些BO继承父类(父类中定义公共属性) 1.定义父类 注意:属性public,不要使用private,让子类BO可以直接操作它 2.BO打jar包,并在mybatis-generator-maven-plugin中指定依赖 注意:一定要把依赖的BO先打jar包 1 <plugin> 2 <groupId>org.mybatis.generator</groupId