- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是一个关于 Java 中具有两个类的基本继承的问题。
我们有两个类,第一个是Rectangle
:
private double length;
private double width;
public Rectangle(double length, double width)
{
this.length = length;
this.width = width;
}
接下来我们有一个名为Square
的扩展类,它扩展了Rectangle
,所以通过super()
我们知道它使用了构造函数Rectangle
类。
private double side;
public Square(double side)
{
super(side, side);
this.side = side;
}
public void print()
{
System.out.println("I am a square of side " + side);
}
这是我们的主要内容:
Square b = new Square(6.0);
Rectangle c = (Rectangle) b;
c.print();
我们创建一个 Square
类型的对象,它包含两个 side
变量 double
6.0
接下来,我们将 b
转换为 Rectangle
c
,这就是我的问题所在。
为什么c.print()
会打印出I am a square of side 6.0
?
最佳答案
这假设 Rectangle
声明了一个 print()
方法。
这个 Action
Rectangle c = (Rectangle) b;
不对 b
引用的实例做任何事情。它只是将引用变量 b
扩展为其父类(super class)型 Rectangle
。
调用 print()
将具有多态行为,并且在运行时,将使用 Square
的实现,因为 c
引用了一个 Square
对象,已将 size
设置为 6
。
Square b = new Square(6.0);
...
private double side;
public Square(double side) {
super(side, side);
this.side = side;
}
请注意,这是自 all methods are virtual by default 以来 Java 中的预期行为.在 C++ 和 C# 等其他语言中,由于 Rectangle
中的 print
方法未声明为 virtual
,因此您的转换会起作用。
更多信息:
关于java - 方形和矩形继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23353468/
我目前有一个程序,可以简单地在屏幕上绘制一个正方形,但是,我试图向这个正方形添加垂直线,它确实打印到屏幕上,但不是它定义的完整长度,而且不是广场内。任何帮助将不胜感激! #include int m
.products { width: 100%; height: 500px; background: gray; } .box { width: 250px; height: 3
I need the square-symbolized character have the square shape that fills entire the character's area,
我们应该知道,Clojure 的 map 可以应用于序列: (map #(* %1 %1) [1 2 3]) ; (1) ..或者多个,通过这种方式: (map vector [0
我正在尝试用 HTML/CSS 制作类似这样的东西:https://gyazo.com/6db0d2e3565414c10b65480c5d4b7526 我正在使用一个 Bootstrap 模板,我想
当我为我的 fab 设置颜色时,它看起来像这样: 我的布局 xml: 颜色也不会改变。谁能帮助我理解我做错了什么? 我也尝试过使用 @color 链接但它崩溃了,背景是可绘制的 (ex. andr
我有一个带有圆形图像的自定义按钮。 问题是 Controller 默认是方形的,所以每当我单击图像的角时,按钮都会响应调用关联的方法,而实际上他不应该这样做,因为角上没有图像,所以按钮不应响应。 有人
您好,我的页面顶部有一个 div http://www.uk-sf.com/MyTraining.php box-shadow 被切割在 wrapper 上,我试着给它一个 z-index 但没有任何
我有一个包含图像的 div。此图像仅在元素悬停时显示,因此我希望侧箭头从指向侧面的 div 出来(在元素悬停的方向)。 此代码生成正方形 div: CSS: #image-t
我在 Android 项目中使用 ImageView。 宽度:match_parent高度:wrap_content 然后我将它缩放到 fill_XY,但图像还不是正方形...我该怎么办? 最佳答案
我正在尝试使用 div 创建一个 2x2 网格。一些 div 可能包含图像,但它可能会被设置为背景,选项为 background-size: cover。 这是我创建的笔:http://codepen
* { box-sizing: border-box; } .publication { display: flex;
我有以下代码: 结果: 如何使 View 的高度与其宽度相等(由 layout_weight 产生)? 最佳答案 您必须重写 onMeasure 方法,将高度设置为与高度相
我正在开发照片编辑应用程序,我有 3 个带有 UIImageview 的 ScrollView ,我想将 ScrollView 设置如下 我试过“Scenekit”,但它不起作用,因为我想要 Scro
在不使用 SVG 图像的情况下,使用 React 可以在其中包含自定义文本来创建圆形和方形的方法是什么?一个例子: 我尝试了以下代码,但它没有呈现任何形状: import React from 're
我想要一个没有滚动条的响应式 9x9 div 网格。 div 网格应根据可见的浏览器窗口调整大小。我合并了"How to maintain the aspect ratio of a div usin
我第一次尝试使用Picasso 如官方网站示例: private void setItemBgImageUsingPicasso(View convertView) { String imag
尝试为 Android 使用 Dagger 依赖注入(inject)器。这是扩展的应用程序类: public class MyApplication extends Application {
我使用 Bootstrap 3 的 .thumbnail 类创建了一个图像网格。在调整图像大小和根据窗口大小更改列方面,一切似乎都很好。唯一的问题是图像的大小各不相同,并且纵向/横向都是。这会导致缩略
我正尝试通过 Square 在我的 iOS 应用程序中实现 OAuth2,但它说当我通过弹出的浏览器成功登录时,我的 redirect_uri 出现错误。 我正在使用 OAuthSwift pod。这
我是一名优秀的程序员,十分优秀!