思考下面的代码,并预测输出结果:public class Printert private String str = "Hello"; public void printHello()( String text = "World"; System.out.println(str); class InnerPrinterf public void printAll()f System,out.println(str+" "+text); InnerPrinter inner = new InnerPrinter inner.printAll(); 上 public static void main(String args[])( Printer obj = new Printer(); obj.printHello();
你应该想写一个局部内部类,然后创建调用吧,先说一下错误,或者这应该是一个改错题
1.主函数main后面应该是main(String[] args){} ,初学java的时候应该都会写,毕竟还要输出helloword呢
2.没有弄清什么是内部类,内部类有哪些?你写的应该是局部内部类,如果写成员内部类,就不可能会使用到你定义的text字符串
3.printHello()()应该写printHello(){}方法加花括号
4.输出语句System,out.println(str+" "+text);应该是System.out.println(str+" "+text);逗号该成英文句号
正确代码:
public class Printert {
private String str = "Hello";
public void printHello(){
String text = "World";
System.out.println(str);
class InnerPrinter {
public void printAll(){
System.out.println(str+" "+text);
InnerPrinter inner = new InnerPrinter();
inner.printAll();
}
}
}
public static void main(String args[]){
Printert obj = new Printert();
obj.printHello();
}
}
综上预测结果就是报错,什么也不会输出,我上面发的代码到时会输出一个hello,但如果这是你写的,你的基础真的不太好,建议你从头开始,一点一点的认真学习,不然的话后期真的很麻烦的
如果对你有帮助,记得采纳一下哦,谢谢O(∩_∩)O
如有帮助,请采纳。点击我回答右上角【采纳】按钮
输出结果为:Hello
public class Printert {
private String str = "Hello";
public void printHello(){
String text = "World";
System.out.println(str);
class InnerPrinter {
public void printAll(){
System.out.println(str+" "+text);
InnerPrinter inner = new InnerPrinter();
inner.printAll();
}
}
}
public static void main(String args[]){
Printert obj = new Printert();
obj.printHello();
}
}
public class Printert{
private String str = "Hello";
public void printHello(){
String text = "World";
System.out.println(str);
}
class InnerPrinter {
public void printAll(){
System,out.println(str+" "+text);
InnerPrinter inner = new InnerPrinter();
inner.printAll();
}
}
}
public static void main(String args[]){
Printer obj = new Printer();
obj.printHello();
}
我是个菜鸡,斗胆修改了下,毕竟技术太菜,看不太懂. 假设执行了main方法,那么就创建了一个Printer类,然后执行printHello()方法,输出str,str等于'hello'所以真相只有一个'hello'