class A{
int a;
public int getA(){
return a;
}
public void setA(int a){
this.a=a;
}
}
//类B扩展类并添加一个附加变量
class B extends A{
int b;
public int getB(){
return b;
}
public void setB(int b){
this.b=b;
}
}
//这是主类
class HelloWorld {
public static void main(String[] args) {
A aa;
if(runtime conditon) {
aa= new B();
aa.setA(3);
((B)aa).setB(4);
}
else{
aa= new A();
aa.setA(3);
}
}
}
在不使用铸造的情况下如何设计解决上述问题?很抱歉问了这个低级的问题(我是java新手)。
由于类B扩展了类A,您可以使用A类的变量来指向B类的变量,但如果您只想使用A类的一个变量(在您的示例中为aa
),则无法在不强制转换对象的情况下使用B类的方法。
因为您必须记住,当您使用指向派生类型use(在您的案例类型B中)的变量(在您的案例类型a中)时,您只能使用在类a中定义的方法,其余的方法将被遮蔽。通过将对象转换为true类型,您可以使用它的所有方法。
假设我有这个方法: 我想调用这个方法,获取字符串,将该字符串转换为整数7,然后以非阻塞方式返回该整数。我该怎么做? 我试过这个,但是函数阻塞(同步): 我尝试使用代替(异步): 但是我得到了这个错误:<代码>类型不匹配:无法从int转换为Mono 那我该怎么办?
我正在尝试使用ARCore在屏幕上不点击的情况下显示对象。在Google提供的ARCore Sceneform的基本示例中,您需要在屏幕检测到表面后点击屏幕。 我想实现这一点,AR在不点击屏幕的情况下显示对象。 我试着在不点击屏幕的情况下进行显示。 如果有人知道怎么做,请帮助我。提前感谢
我正在实现一个排序列表类,在这个类中,我将对任何类型的对象进行排序,所以现在我想测试对象是否具有可比性, 我用这段代码覆盖了compareTo()方法:- 所以现在我需要给这些对象分配数字,像这样 但它总是给我一个例外:- 线程“main”中出现异常Java . lang . classcastexception:Java . lang . integer不能转换为java.lang.String
假设我有一个旋转90度的正方形(我发现这是为我的计算机准备的)和一个旋转75度的第二个正方形。第一个正方形的左上角和第二个正方形的左下角相连。 我的目标是使用三角学来编辑第二个正方形的位置,以便它的右下角和第一个正方形的右上角(两个高亮的角)连接起来。 在一张不太硬的纸上。我会用sin和cos来求x和y的偏移量。在本例中,代码类似于:
问题内容: 假设我有一个这样的ADT: circe中实例的默认通用派生期望输入JSON包含一个包装对象,该包装对象指示要表示的案例类: 这种行为意味着,如果两个或多个案例类具有相同的成员名称,我们就不必担心歧义,但这并不总是我们想要的—有时我们知道展开的编码将是明确的,或者我们想通过指定顺序来消除歧义每个案例类都应该尝试,否则我们不在乎。 如何在没有包装的情况下(最好不必从头开始编写编码器和解码器
我可以将json对象下载为字符串而无需在Android设备上使用Retrofit进行解析吗? 当我尝试直接接近时 我有一个错误: