动手动脑

1502762920-com 1502762920-com     2023-01-09     371

关键词:

一:看代码找错误

技术分享图片

 

技术分享图片

 

 

 二:java字段初始化规律

package 代码测试;

public class InitializeBlockClass 
    field=200;
    public int field=100;
    public InitializeBlockClass(int value) 
        this.field=value;
    

    public InitializeBlockClass() 
        
    

public class obj 
    public static void main(String[] args) 
        InitializeBlockClass obj=new InitializeBlockClass();
        System.out.println(obj.field);
        obj=new InitializeBlockClass(300); 
        System.out.println(obj.field);
    


  

输出结果为:100 300

分析

1  field=200; 该部分为类的初始化模块,在类中直接将语句包围起来,直接作为类成员,像这种成员多用与初始化类的字段。

2  在 public int field=100; 定义时初始化,所以obj.field值为100

obj=new InitializeBlockClass(300);
        System.out.println(obj.field);

利用构造方法初始化,将field的值初始化为300,输出为300;

4 Java字段初始化的规律:

静态初始化生成实例(new之后)变成你赋给他的值,先执行静态初始化,如果没有实例化,按照初始化和构造方法在程序中出现的顺序执行。

当多个类之间有继承关系时,创建子类对象会导致父类初始化块的执行。

 

 三:类字段的初始化顺序

1执行类成员定义时指定的默认值或类的初始化块,到底执行哪一个要看哪一个“排在前面”。

2 执行类的构造函数

类的初始化块不接收任何的参数,而且只要一创建类的对象,它们就会被执行。因此,适合于封装那些“对象创建时必须执行的代码

四:静态初始化的执行顺序

技术分享图片

五:如何在静态方法中访问类的实例成员(即没有附加static)

package Test;

public class emm 
    public static void display() 
        System.out.println("吴林祥");
    
    public void display1() 
        System.out.println("吴林祥666");
    
    public static void main(String[] args) 
        emm e=new emm();
        e.display1();
        emm.display();
    
    


静态方法中不能直接访问同一类中的非静态成员,而必须先创建对象,再通过对象访问成员

六:Integer诡异特性

package 代码测试;

public class ceshi 
    public static void main(String[] args) 
        Integer i1=100;
        Integer j1=100;
        System.out.println(i1==j1);
        
        Integer i2=129;
        Integer j2=129;
        System.out.println(i2==j2);
    


  结果

技术分享图片

输出结果不一样主要是因为与IntegerCache类有关 为了避免重复创建对象,对INteger值做了缓存,如果这个值在缓存的范围内直接返回缓存对象,否则new一个新的对象返回。

 



动手动脑

这个是让我们看下面的代码,让我们发现特别之处的动手动脑。源代码如下://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. 查看详情

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

 动手动脑一:publicclasssuijishu  privatestaticfinalintN=200;  privatestaticfinalintLEFT=40;  privatestaticfinalintRIGHT=10000;  privatestaticlongx0=1L;  privatelonga=1103515245L;  privatelongc=12345L 查看详情

动手动脑,无法自拔

1.动手动脑 如果类提供了一个自定义的构造方法,将导致系统不再提供默认构造方法。而foo类中有一个publicfoo(intinitValue)类,导致系统不能引用默认的构造函数。2.动手动脑 实例:TextStaticInitialalizeBlock.java: classRoot{s... 查看详情

方法的动手动脑

动手动脑:(1)纯随机数发生器Modulus=231-1=int.MaxValueMultiplier=75=16807C=0当显示过231-2个数之后,才可能重复。动手动脑:编写一个方法,使用以上算法生成指定数目(比如1000个)的随机整数。代码如下:package suijishu; public&... 查看详情

动手动脑

第一个动手动脑 看老师发的文件,EnumTest.java。猜它 的运行结果。我猜s和 t肯定引用的不同对象,老师上课也讲过。falsefalsetrueSMALLMEDIUMLARGEpublicclassEnumTest{publicstaticvoidmain(String[]args){Sizes=Size.SMALL;Sizet=Size.LARGE;//s 查看详情

动手动脑

packagejxlpacakge;//信1605-320163432张运涛publicclassInitializeBlockClass{ { field=200; } publicintfield=100; publicInitializeBlockClass(intvalue)//定义有参的构造函数 { this.field=value; } publicInitializeBlockC 查看详情

动手动脑2

---恢复内容开始---1.动手实验:继承条件下的构造方法调用classGrandparentpublicGrandparent() System.out.println("GrandParentCreated."); publicGrandparent(Stringstring) System.out.println("GrandParentCreated.String:"+stri 查看详情

动手动脑

一:看代码找错误    二:java字段初始化规律package代码测试;publicclassInitializeBlockClassfield=200;publicintfield=100;publicInitializeBlockClass(intvalue)this.field=value;publicInitializeBlockClas 查看详情

课堂动手动脑课后作业

动手动脑:函数的重载package重载;publicclassjj{ publicstaticvoidmain(String[]arges) { System.out.println(o(7)); System.out.println(o(7.5)); } publicstaticinto(intx) {returnx*x;} publicstaticdoubleo(doubley) {ret 查看详情

11.11动手动脑

动手动脑1:请阅读并运行AboutException.java示例,然后通过后面的几页PPT了解Java中实现异常处理的基础知识。源码:?12345678910111213141516171819202122232425262728293031323334353637383940importjavax.swing.*; classAboutException  &n 查看详情

动手动脑

课后作业01-动手动脑1、请阅读并运行AboutException.java示例,然后通过后面的几页PPT了解Java中实现异常处理的基础知识结果截图:异常处理:Try{//可能发生运行错误的代码;}        catch(异常类型 ... 查看详情

动手动脑03

一、以下代码输出结果是什么?publicclassInitializeBlockDemo{ /** *@paramargs */ publicstaticvoidmain(String[]args){    InitializeBlockClassobj=newInitializeBlockClass();  查看详情

第八周动手动脑

动手动脑一:请阅读并运行AboutException.java示例AboutException.java 答:结论:异常 (Exception):发生于程序执行期间,表明出现了一个非法的运行状况。许多JDK中的方法在检测到非法情况时,都会抛出一个异常对象。例如:... 查看详情

课堂动手动脑

动手动脑1.当在捕获到异常的处理代码里加入system.exit()时,finally的代码块是不会执行的。            2.Catchwho结果:          & 查看详情

动手动脑

一,代码:publicclassEnumTestprivateenumMyEnum  ONE,TWO,THREE publicstaticvoidmain(String[]args)   for(MyEnumvalue:MyEnum.values())     System.ou 查看详情

动手动脑

1.随机数函数函数源代码 publicclassRandomTest{ /** *@paramargs */ publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub java.util.Randomr=newjava.util.Random(); for(inti=0;i<5;i++){ 查看详情

动手动脑

packagezuoye;importjava.util.Random;publicclassrandpublicstaticvoidmain(String[]args)                    查看详情