继承定义:子类继承父类的特征和行为,使得子类具有父类的各种属性和方法。或子类从父类继承方法,使得子类具有父类相同的行为。

多态定义看了很多,都觉得不够贴切,后来在一个同学的笔记中看到了如下的定义觉得很准确粘贴出来:

多态定义: 多态指的是子类对象可以直接复制给父类的变量(或者子类对象指向父类的引用),但运行时依然表现出子类的行为特征 这意味着同一个类型的对象在执行同一个方法时,可能会表现出不同的行为特征

解释:类中包含了类的行为(方法)和属性(变量),而多态只是针对类的行为特征即方法的,而不针对任何的变量。(因此下面笔试题中的  ‘System.out.println(parent.i);’输出的是引用类的成员变量0)。

因此有如下结论:

总结:多态指的是成员方法,对象的成员常量不具有多态性。

在一次笔试题中遇到了一个问题:问输出结果是什么。回来试了一下,但是不知道在输出结果向上转型时i的值为什么是父类变量其中的原理,高手们请指教。

package demo.test;

//父类
class ParentClass {
public int i = 0; public void test(){
System.out.println("this is ParentClass");
} } public class SubClass extends ParentClass{
public int i = 1;
public void test(){
System.out.println("this is SubClass");
} public static void main(String[] args) {
SubClass sub1 = new SubClass();
ParentClass parent = new SubClass();
System.out.println(sub1.i);//
System.out.println(parent.i);//
sub1.test();//SubClass
parent.test();//SubClass
}
/**
* 1
0
this is SubClass
this is SubClass */
}

后来在一个同学的笔记中看到了如下的定义觉得很准确粘贴出来:

(1)多态定义: 多态指的是子类对象可以直接复制给父类的变量(或者子类对象指向父类的引用),但运行时依然表现出子类的行为特征 这意味着同一个类型的对象在执行同一个方法时,可能会表现出不同的行为特征

总结:通过上面的示例说明:继承和多态

java多态和继承的更多相关文章

  1. Java 多态 接口继承等学习笔记

    Super关键字 1.子类可以调用父类声明的构造方法 : 语法:在子类的构造方法中使用super关键字  super(参数列表) 2.操作被隐藏的成员变量(子类的成员变量和父类的成员变量重名的说法)和 ...

  2. Java中的继承和多态

    1.  什么是继承,继承的特点? 子类继承父类的特征和行为,使得子类具有父类的各种属性和方法.或子类从父类继承方法,使得子类具有父类相同的行为. 特点:在继承关系中,父类更通用.子类更具体.父类具有更 ...

  3. Java中类的继承,属性和方法的四种修饰符的作用范围,final关键字,java的三大特点中的2个:封装和多态,以及多态的一个设计模式,模板方法模式(template method)

    (一)Java中的继承: 关于继承,在Java中类的继承只能是单继承,不像C+++那样灵活,可以多继承,多继承的后果就是各种关系乱套,就相当于一个孩子有2个母亲一样,社会关系的复杂,不利于程序后期的开 ...

  4. java类的继承,多态,抽象类与接口

    知识点梳理:     1,怎样定义自己的类. MyStarFrame,MyStarPanel 类中定义: (1)属性(数据),变量. (2)方法(函数),行为. (3)构造方法(特征,作用,何时被调用 ...

  5. 【JAVA零基础入门系列】Day13 Java类的继承与多态

    继承是类的一个很重要的特性,什么?你连继承都不知道?你是想气死爸爸好继承爸爸的遗产吗?(滑稽) 开个玩笑,这里的继承跟我们现实生活的中继承还是有很大区别的,一个类可以继承另一个类,继承的内容包括属性跟 ...

  6. Java动手动脑——多态和继承

    Java动手动脑——继承和多态 实验一 预估输出答案:100  200  201  202 输出结果:100  200  201  202 输出答案分析:100 创建parent类的对象,调用对象的方 ...

  7. 【Java学习笔记之十六】浅谈Java中的继承与多态

    1.  什么是继承,继承的特点? 子类继承父类的特征和行为,使得子类具有父类的各种属性和方法.或子类从父类继承方法,使得子类具有父类相同的行为. 特点:在继承关系中,父类更通用.子类更具体.父类具有更 ...

  8. Java:[面向对象:继承,多态]

    本文内容: 继承 多态 首发时期:2018-03-23 继承: 介绍: 如果多个类中存在相同的属性和行为,可以将这些内容抽取到单独一个类中,那么多个类(子类)无需再定义这些属性和行为,只要继承那个类( ...

  9. Java学习笔记——继承、接口、多态

    浮点数的运算需要注意的问题: BigDecimal operand1 = new BigDecimal("1.0"); BigDecimal operand2 = new BigD ...

随机推荐

  1. 【windows】之查看端口占用

    打开cmd界面 netstat -aon|findstr "80" 查看80端口占用PIDtasklist|findstr "2448" 找到占用程序直接杀死( ...

  2. NGUI 合集

    UILabel  设置BBCode的时候 ,要设置颜色为白色 .不要设为其他的颜色因为会叠加的 .

  3. JPanel添加键盘监听事件

    因为在自己的游戏需求中谢了要用键盘控制飞机的移动,所以用到键盘监听事件,但是使用了JPanel之后添加了键盘监听事件,按相应的方向键飞机并没有反应.但是如果是为JFrame的内容面板加则会有反应. 为 ...

  4. SQLServer为已有数据的表添加一个自增列

    如果我们从Excel中导入到SQL中大量数据时,如果需要再单独处理特别需要一个字段去表示处理到那条数据了,这时因为没有主键就可以使用以下方式为每条数据添加id ,) not null

  5. mybatis 整合spring之mapperLocations配置的问题(转)

    以防忘记,收集一下别人的文章吧 https://www.cnblogs.com/1xin1yi/p/7373739.html 今天尝试spring整合mybatis时遇到这么一个问题,就是在配置sql ...

  6. tesseract 中文二次训练

    tesseract4.0以上版本可参考 https://github.com/tesseract-ocr/tesseract/wiki/TrainingTesseract-4.00#tutorial- ...

  7. Java里数组的三种初始化方式

    静态初始化 除了用new关键字来产生数组以外,还可以直接在定义数组的同时就为数组元素分配空间并赋值. // 静态初始化 int[] iStaticArr = { 5, 2, 0 }; LOLHero[ ...

  8. POJ3159 Candies

    #include <iostream> #include <queue> #include <cstring> #define maxn 30005 #define ...

  9. String.prototype.normalize()

    normalize() 方法会按照指定的一种 Unicode 正规形式将当前字符串正规化. 这是一个ES6方法. 许多欧洲语言有语调符号和重音符号.为了表示它们,Unicode 提供了两种方法.一种是 ...

  10. Spring 配置 Annotation <context:annotation-config> 和 <context:component-scan>标签的诠释及区别

    Spring 开启Annotation <context:annotation-config> 和 <context:component-scan>诠释及区别 <cont ...