java - Head First Java-Page 192(混合消息)
问题描述
我正在尝试 Head First Java 的一个示例问题:
我在netbeans上输入了它。创建3个类作为classA,classB,classC和Main方法作为混合类。在课堂上我得到一个错误,有人能解释一下为什么会发生这种情况以及如何解决它吗?
public class classA {
int ivar =7;
void m1(){
System.out.println("A's m1, ");
}
void m2(){
System.out.println("A's m2, "); }
void m3(){
System.out.println("A's m3, ");
}
}
public class classB extends classA {
void m1(){
System.out.println("B's m1, ");
}
}
public class classC extends classB {
void m3(){
System.out.println("C's m3, "+(ivar + 6));}
}
public class Mixed2 {
public static void main(String[] args) {
a=new A();
//Error Cant find symbol,Symbol:Variable a location:class mixed 2
b=new B(); //Same error above and below
c=new C();
a2=new C();
}
}
解决方案
是的,您可以在一堂课中全部输入。请看一下下面的代码。由于您仍在学习它的最佳状态,因此请按原样输入,而无需尝试不同的方法,以后可以在掌握语言后完成。学习愉快!.
public class mixedsample {
public static void main(String[] args) {
A a=new A();
B b=new B();
C c=new C();
A a2=new C();
/* b.m1();
c.m2();
a.m3();
Answer=B's,m1 ,A's,m2 ,A's,m3*/
/* c.m1();
c.m2();
c.m3();
A's,m1 ,A's,m2 ,A's,m3 */
/* a.m1();
b.m2();
c.m3();
A's,m1 ,A's,m2 ,A's,m3 */
/* a2.m1();
a2.m2();
a2.m3();
A's,m1A's,m2 ,A's,m3 */
}
}
class A{
int ivar=7;
void m1(){
System.out.println("A's,m1 ");
}
void m2(){
System.out.println("A's,m2 ");
}
void m3(){
System.out.println("A's,m3 ");
}
}
class B extends A {
void m1(){
System.out.println("B's,m1 ");
}
}
class C extends B{
void m1(){
System.out.println("A's,m1 ");
}
}
推荐阅读
- javascript - JS LocalStorage 问题
- r - 想要使用 gls 获取系数、se 和 t-stat,但它们没有显示在输出中
- c# - CommandLineParser - 如果没有给出开关,则显示 --help 结果
- django - 使用 ModelSerializer 保存嵌套多对多关系的问题
- python - LSTM模型在多类分类中只分类1类
- wordpress - 使用带有 elementor/divi 的 wordpress 扩展网站
- google-chrome - Vuetify:禁用 chrome 中的自动完成功能
- python - 在 COM 端口上写入和读取 bytearray
- powershell - 在不使用向上箭头的情况下获取最后执行的命令作为输出 - PowerShell
- laravel - 编辑表单中的 Select2 不会触发编辑表单中的选定值 - Livewires