动手动脑,无法自拔

随风的叶子 随风的叶子     2022-08-09     191

关键词:

1.动手动脑

 

如果类提供了一个自定义的构造方法,将导致系统不再提供默认构造方法。而foo类中有一个public fooint initValue)类,导致系统不能引用默认的构造函数。

2.动手动脑

 

实例:TextStaticInitialalizeBlock.java:

 

class Root

{

static{

System.out.println("Root的静态初始化块");

}

{

System.out.println("Root的普通初始化块");

}

public Root()

{

System.out.println("Root的无参数的构造器");

}

}

class Mid extends Root

{

static{

System.out.println("Mid的静态初始化块");

}

{

System.out.println("Mid的普通初始化块");

}

public Mid()

{

System.out.println("Mid的无参数的构造器");

}

public Mid(String msg)

{

//通过this调用同一类中重载的构造器

this();

System.out.println("Mid的带参数构造器,其参数值:" + msg);

}

}

class Leaf extends Mid

{

static{

System.out.println("Leaf的静态初始化块");

}

{

System.out.println("Leaf的普通初始化块");

}

public Leaf()

{

//通过super调用父类中有一个字符串参数的构造器

super("Java初始化顺序演示");

System.out.println("执行Leaf的构造器");

}

 

}

 

public class TestStaticInitializeBlock

{

public static void main(String[] args)

{

new Leaf();

 

 

}

}

执行结果如下:

 

 

从结果可以得出结论:

执行class Leaf extends Mid类中的静态初始化块,先要执行其父类的静态初始化块,最后才执行该类的静态初始化块。

动手动脑三(代码片段)

一、以下代码为何无法编译publicclassTestpublicstaticvoidmain(String[]args)Fooobj1=newFoo();classFoointvalue;publicFoo(intinitVaule)vaule=initVaule;原因:下面自己写的构造方法带有1个参数,但是在新建对象的时候却没有参数,所以无法进行初始化。 ... 查看详情

动手动脑

1.问题:以下代码为何无法通过编译?哪儿出错了?  错误:系统,匹配不到Foo的无参构造方法,但是如果类定义了构造方法Java编译器就不在提供没有参数的“默认构造方法”。只匹配“自己”写到构造方法... 查看详情

动手动脑(代码片段)

1.以下代码为何无法通过编译?哪儿出错了?packagetest;publicclassTestpublicstaticvoidmain(String[]args)Fooobj1=newFoo();classFoointvalue;publicFoo(intinitValue)value=initValue;      & 查看详情

动手动脑感想(代码片段)

1.动手动脑:以下代码为什么无法通过编译?哪出错了?publicclassTestpublicstaticvoidmain(String[]args)Fooobj1=newFoo();classFoointvalue;publicFoo(intinitValue)value=initValue;obj1初始化出错,因为Foo类定义的含参的构造函数,不会自动生成无参构造函数... 查看详情

动手动脑(代码片段)

课件中动手动脑3(1)以下代码为何无法通过编译?哪儿出错了?在Foo类中定义的Foo类有一个int类型的实参,但主函数调用的时候没有传参数,所以会报错。 (2)Java字段初始化的规律 测试代码:package包;publicclassmain/***@p... 查看详情

动手动脑(代码片段)

原因:下面自己写的构造方法带有1个参数,但是在新建对象的时候却没有参数,所以无法进行初始化。二,1package统计对象个数;23publicclassInitializeBlockClass45field=200;67publicintfield=100;8publicInitializeBlockClass(intvalue)9this.field=value;1011public... 查看详情

java动手动脑

以下代码为何无法通过编译?哪儿出错了? 如果类提供了一个自定义的构造方法,将导致系统不再提供默认构造方法。2.classRoot{ static{  System.out.println("Root的静态初始化块"); } {  System.out.println("Root的... 查看详情

第三次动手动脑(代码片段)

1.以下代码为何无法通过编译?哪儿出错了?publicclassTestpublicstaticvoidmain(String[]args)Fooobj1=newFoo();classFoointvalue;publicFoo(intinitValue)value=initValue;错误在于在构造函数时有参数,在调用时没有填写int型的参数。2.根据以下代码的输出结果... 查看详情

java动手动脑3

1.以下代码为何无法通过编译?哪儿出错了?类自己定义了一个有参的构造函数,但没有无参的构造函数。系统不会调用默认的构造函数,而主函数中使用了无参的构造函数,所以产生了错误。2.如果有了初始化也有了构造函数... 查看详情

动手动脑——类与对象

问题一:静态方法中只允许访问静态数据,那么,如何在静态方法中访问类的实例成员(即没有附加static关键字的字段或方法)?答:先创建对象,然后用对象调用实例成员。问题二:以下代码输出结果是什么?  答:100&n... 查看详情

第五周课后动手动脑

  两者不一样,早期的形式简单点当声明一个对象类型的变量时,实际上并没有创建一个对象,此变量=null。定义一个原始类型的变量时,会马上给其分配内存,   比如以下代码将无法通过编译:    ... 查看详情

类与对象的动手动脑

1.以下代码为何无法通过编译?哪儿出错了?原因:调用的newFoo是函数Foo(),所以括号里面应该有一个int型变量参数,比如写一个1。2.进行实验,根据下列代码的输出结果,自行总结java字段初始化的规律。结果:对此结果的分... 查看详情

类与对象动手动脑

1.以下代码无法通过编译,哪里出错了?原因:因为构造函数Foo()没有进行定义,如果类提供了一个自定义的构造方法,将导致系统不再提供默认构造方法。截图:2..请依据代码的输出结果,自行总结Java字段初始化的规律输出结... 查看详情

动手动脑

[动手动脑]:编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数 代码:packagesuiji;importjava.util.Scanner;publicclassSuiji{publicstaticvoidmain(String[]args){//TODOAuto-generatedmethodstub     &n 查看详情

动手动脑-4(代码片段)

package动手动脑;publicclass基类public基类()System.out.println("基类Created.");public基类(Stringstring)System.out.println("基类Created.String:"+string);package动手动脑;publicclass父类extends基类public父类()super("Hell 查看详情

java动手动脑之父子继承

1.构造函数的主要作用是什么?在创建对象时初始化对象,为对象成员变量赋初值。调用时:子类——>父类——>祖类输出时:祖类——>父类——>子类在子类调用构造函数时必须调用父类的构造函数,因为子类的构造器... 查看详情

动手动脑

这个是让我们看下面的代码,让我们发现特别之处的动手动脑。源代码如下://MethodOverload.java//UsingoverloadedmethodspublicclassMethodOverload publicstaticvoidmain(String[]args)  System.out.println("Thesquareofinteger7is" 查看详情

动手动脑

动手动脑1publicclassEnumTest publicstaticvoidmain(String[]args)//TODOAuto-generatedmethodstubSizes=Size.SMALL;Sizet=Size.LARGE;//s和t引用同一个对象?System.out.println(s= =t); ////是原始数据类型吗?System. 查看详情