参见英文答案 >

Overriding member variables in Java                                    10个

这是我写的三个类:

public class Shape {

public int x = 0;

public void getArea() {

System.out.println("I don't know my area!");

}

public String toString() {

return "I am a shape!";

}

public int getX() {

return x;

}

}

public class Rectangle extends Shape {

public int x = 1;

public int getX() {

return x;

}

public void getArea() {

System.out.println("L*W");

}

public String toString() {

return "I am a rectangle!";

}

}

public class Tester {

public static void main(String[] args) {

Shape s = new Shape();

Rectangle r = new Rectangle();

System.out.println(r);

System.out.println(r.x + "\n");

s = r;

System.out.println(s);

s.getArea();

System.out.println(s.x);

System.out.println(s.getX());

}

}

Tester类的main方法的输出是:

I am a rectangle!

1

I am a rectangle!

L*W

0

1

为什么s.x返回0而不是1?因为变量的当前实例不是Rectangle,并且该类也声明了相同的实例变量,或者Rectangle类中的变量不会覆盖Shape类中的前一个公共x变量,就像它对getX()一样矩形类中的方法因此返回1?

另外作为一般规则,超类只有在该类中声明它们时才能访问其子类方法的实现?这是因为编译器会看到具有相同签名的相同数量的方法在“Shape”类中(具有重写的Rectangle实现)并接受那些作为有效的Shape方法吗?

提前致谢,

java 多态性 变量_java – 与实例变量的多态性相关推荐

  1. @value 静态变量_Java中的变量——通过示例学习Java编程(4)

    作者:CHAITANYA SINGH 来源: 通过示例学习Java编程(4):Java中的变量-方家话题​www.koofun.com 变量是用来存放可以更改的值的容器.例如,当我写int i = 1 ...

  2. JAVA中 成员变量和和实例变量区别

    java语言支持的变量类型 类变量:独立于方法之外的变量,用 static 修饰. 局部变量:类的方法中的变量. 实例变量(全局变量):独立于方法之外的变量,不过没有 static 修饰. publi ...

  3. java实例成员和类成员变量_Java 中成员变量又分为 和类成员变量。_学小易找答案...

    [简答题]I'm not quite so poetic, but I do know that the subway is as essential to the character of New ...

  4. java静态变量实例变量_java中静态变量和实例变量的区别

    实例变量:只有在创建了实例对象之后才会被分配空间,才可以使用 静态变量:不需要创建实例对象就可以直接使用类名进行引用 public class Different { public static in ...

  5. Java单例模式个人总结(实例变量和类变量)

    Java单例模式 背景知识:Static关键字. 在对于定义类的变量,分为两种,是否具有static修饰的变量: 没有static修饰的变量,通过类的实例化(对象)引用,改变量称为实例变量: 使用st ...

  6. java静态局部变量_java中成员变量,局部变量,静态变量的辨析

    转自百度:https://baijiahao.baidu.com/s?id=1625360816541592483&wfr=spider&for=pc 1.java中成员变量,局部变量 ...

  7. java有几种变量_java有多少种变量?java类变量怎么使用?

    相信有很多刚入行学习java技术的人,对java有多少种变量都不是很清楚,清楚的了解java变量java人员才可以写出好代码,那么java有多少种变量?今天我们就来讲解一下. 成员变量:就是声明为类的 ...

  8. java程序中的变量_Java中的变量

    实例变量的作用域与对应实例的生存范围相同,而类属性的作用域与这个类的生存范围相同.成员变量无须显式初始化,系统会默认初始化. 与成员变量不同的是,局部变量除了形参之外,不必须显式初始化,否则不可以访问 ...

  9. java静态变量和实例变量的区别6_java静态变量的与实例变量的区别

    下面的为代码实现 /** * */ package com.b510.test; /** * 在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象, * 其中的实例变量才会被分配空间,才 ...

最新文章

  1. python的工作方向-python最赚钱的4个方向,你最心动的是哪个?
  2. WPF最大化避免覆盖任务栏
  3. ipad鼠标圆圈变成箭头_【附视频指南】iPad 只能刷剧?来看看我是如何把它武装成生产力工具的!...
  4. Docker入门到实践
  5. 机器学习入门-文本数据-使用聚类增加文本的标签属性
  6. 2021 使用IDEA创建并编写你的第一个Maven项目【图文详解】
  7. Oracle全文索引之四 维护
  8. UI登录表单使用模板素材
  9. java中枚举表示数据状态
  10. 自定义Excel导出简易组件
  11. 有关 this 指向问题总结
  12. mysql有哪几种索引
  13. 中兴zxr10路由器重启命令_zxr10维护常用命令
  14. SEO采集系统-SEO采集工具自动采集伪原创发布
  15. 后台页面设置页面弹出
  16. w7无法訪问计算机上硬盘分区,Win7/win10双系统无法打开磁盘分区提示拒绝访问怎么解决...
  17. 数据结构与算法实验01-使用链表实现多项式乘法
  18. Windows XP 系统下使用宽带上网真方便
  19. easyx带笔锋的涂鸦板!
  20. 【Python 实战基础】Pandas如何统筛选复制某个数据

热门文章

  1. int inet_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
  2. linux的终端下的命令行管道|的简单实现
  3. 算法笔记:简单的字符串模式匹配-KMP算法(与BF算法对比时间复杂度)
  4. php 异步请求微信模板消息_php实现微信模板消息推送
  5. Django视图层:嵌套参数,URLconf在查找什么?指定视图参数的默认值、include()路由转发三种方式、传递额外选项给 include()、传递额外选项给视图
  6. python基础元组和列表区别(六)
  7. c++使用单向链表存储一组有序数据_《一起学习java和数据结构》系列-数组和链表...
  8. android 自定义课程表,Android课程表界面布局实现代码
  9. html5 平移,Html5 canvas绘图旋转和平移
  10. python utc时间如何取整_Python和Pandas:如何在不同的分辨率上取整unix时间戳(utc):1min5min15min30min1d?...