java 多态性 变量_java – 与实例变量的多态性
参见英文答案 >
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 – 与实例变量的多态性相关推荐
- @value 静态变量_Java中的变量——通过示例学习Java编程(4)
作者:CHAITANYA SINGH 来源: 通过示例学习Java编程(4):Java中的变量-方家话题www.koofun.com 变量是用来存放可以更改的值的容器.例如,当我写int i = 1 ...
- JAVA中 成员变量和和实例变量区别
java语言支持的变量类型 类变量:独立于方法之外的变量,用 static 修饰. 局部变量:类的方法中的变量. 实例变量(全局变量):独立于方法之外的变量,不过没有 static 修饰. publi ...
- java实例成员和类成员变量_Java 中成员变量又分为 和类成员变量。_学小易找答案...
[简答题]I'm not quite so poetic, but I do know that the subway is as essential to the character of New ...
- java静态变量实例变量_java中静态变量和实例变量的区别
实例变量:只有在创建了实例对象之后才会被分配空间,才可以使用 静态变量:不需要创建实例对象就可以直接使用类名进行引用 public class Different { public static in ...
- Java单例模式个人总结(实例变量和类变量)
Java单例模式 背景知识:Static关键字. 在对于定义类的变量,分为两种,是否具有static修饰的变量: 没有static修饰的变量,通过类的实例化(对象)引用,改变量称为实例变量: 使用st ...
- java静态局部变量_java中成员变量,局部变量,静态变量的辨析
转自百度:https://baijiahao.baidu.com/s?id=1625360816541592483&wfr=spider&for=pc 1.java中成员变量,局部变量 ...
- java有几种变量_java有多少种变量?java类变量怎么使用?
相信有很多刚入行学习java技术的人,对java有多少种变量都不是很清楚,清楚的了解java变量java人员才可以写出好代码,那么java有多少种变量?今天我们就来讲解一下. 成员变量:就是声明为类的 ...
- java程序中的变量_Java中的变量
实例变量的作用域与对应实例的生存范围相同,而类属性的作用域与这个类的生存范围相同.成员变量无须显式初始化,系统会默认初始化. 与成员变量不同的是,局部变量除了形参之外,不必须显式初始化,否则不可以访问 ...
- java静态变量和实例变量的区别6_java静态变量的与实例变量的区别
下面的为代码实现 /** * */ package com.b510.test; /** * 在程序运行时的区别:实例变量属于某个对象的属性,必须创建了实例对象, * 其中的实例变量才会被分配空间,才 ...
最新文章
- python的工作方向-python最赚钱的4个方向,你最心动的是哪个?
- WPF最大化避免覆盖任务栏
- ipad鼠标圆圈变成箭头_【附视频指南】iPad 只能刷剧?来看看我是如何把它武装成生产力工具的!...
- Docker入门到实践
- 机器学习入门-文本数据-使用聚类增加文本的标签属性
- 2021 使用IDEA创建并编写你的第一个Maven项目【图文详解】
- Oracle全文索引之四 维护
- UI登录表单使用模板素材
- java中枚举表示数据状态
- 自定义Excel导出简易组件
- 有关 this 指向问题总结
- mysql有哪几种索引
- 中兴zxr10路由器重启命令_zxr10维护常用命令
- SEO采集系统-SEO采集工具自动采集伪原创发布
- 后台页面设置页面弹出
- w7无法訪问计算机上硬盘分区,Win7/win10双系统无法打开磁盘分区提示拒绝访问怎么解决...
- 数据结构与算法实验01-使用链表实现多项式乘法
- Windows XP 系统下使用宽带上网真方便
- easyx带笔锋的涂鸦板!
- 【Python 实战基础】Pandas如何统筛选复制某个数据
热门文章
- int inet_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
- linux的终端下的命令行管道|的简单实现
- 算法笔记:简单的字符串模式匹配-KMP算法(与BF算法对比时间复杂度)
- php 异步请求微信模板消息_php实现微信模板消息推送
- Django视图层:嵌套参数,URLconf在查找什么?指定视图参数的默认值、include()路由转发三种方式、传递额外选项给 include()、传递额外选项给视图
- python基础元组和列表区别(六)
- c++使用单向链表存储一组有序数据_《一起学习java和数据结构》系列-数组和链表...
- android 自定义课程表,Android课程表界面布局实现代码
- html5 平移,Html5 canvas绘图旋转和平移
- python utc时间如何取整_Python和Pandas:如何在不同的分辨率上取整unix时间戳(utc):1min5min15min30min1d?...