代码输出结果是什么?为什么会出现这种结果?
代码一
public class ParentTest {
public ParentTest(){
System.out.println("Parent Constructor invoked");
}
static{
System.out.println("parent static invoked");
}
{
System.out.println("parent invoked");
}
}
public class ChildrenTest extends ParentTest{
public ChildrenTest(){
System.out.println("Children Constructor invoked");
}
static{
System.out.println("Children static invoked");
}
{
System.out.println("Children invoked");
}
public static void main(String[] args) {
new ChildrenTest();
}
}
代码二:true or false
public class MyTest1 {
private String str;
public MyTest1(String str){
this.str=str;
}
public static void main(String[] args) {
MyTest1 m1=new MyTest1("hello");
MyTest1 m2=new MyTest1("hello");
System.out.println(m1.equals(m2));
}
}
代码三:true or false
public class MyTest1 {
public static void main(String[] args) {
System.out.println(Integer.valueOf(323)==Integer.valueOf(323));
System.out.println(Integer.valueOf(23)==Integer.valueOf(23));
}
}
代码四:
public class MyTest1 {
private static int a;
public MyTest1(){
System.out.println("a="+(++a));
}
public void test(){
int a=5;
System.out.println("a="+a);
}
public void test2(){
a=5;
System.out.println("a="+a);
}
public static void main(String[] args) {
new MyTest1();
new MyTest1();
new MyTest1().test();
System.out.println(a);
new MyTest1().test2();
System.out.println(a);
}
}
代码五:
public class Parent {
public Parent(String name){
System.out.println(name);
}
}
public class Children extends Parent{
public Children(String name){
System.out.println(name);
}
public static void main(String[] args) {
new Children("hello");
}
}
java结果输出,知其所以然
最新推荐文章于 2024-12-29 14:36:01 发布
本文详细解析了两段代码的运行流程及其输出结果,深入探讨了构造器、静态初始化块、实例初始化块的执行顺序,并通过实例展示了字符串比较、变量作用域及静态变量的特性。此外,还分析了一段涉及类继承与重写的方法调用过程。
1151

被折叠的 条评论
为什么被折叠?



