
正文
java有两个静态代码块 java接口中静态代码块
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
下面的java代码有什么错误呢,还是没错?
根据你贴的代码来看是一个不能运行的java类,因为没有main方法。但是代码是没有错误的。如果想看运行结果,请用下面代码运行。
局部变量前不能加修饰符,所以去掉private;抽象类就是让子类implements来实现的,怎么可以用private,被private修饰的方法,只能在本类中访问。
max这个变量没有定义啊;你getMax()的返回值为int,return可以直接写到if-else模块里面,逻辑不怎么对啊。
好多拼写错误,用了好几个不必要的语句,无法加入异常处理。
class名为Test2,报错是Test3。
相关问答
Q1: java,两个均有静态代码块,执行顺序是怎样的呢
先说执行顺序:我们在new一个对象时,如果类还没加载,就需要先将类加载到内存,此时就会执行静态代码块,在创建对象时,是先执行代码块,然后执行构造器。
静态代码块是在类加载的时候就会执行的。 类加载完毕,执行后,i的值在这时的确是20, 但是你在之后又重新给i赋值,那么i就是你所赋的值咯。
且在构造函数主体代码执行之前被执行。区别如下:执行次数不同 静态块只执行一次,初始化块可以执行多次。作用不同 静态初始化块仅能初始化类变量,即static修饰的数据成员。非静态初始化块可以初始化类的实例变量。
所以最先输出的是d。main方法是静态方法,是在类加载完之后由虚拟机调用的,调用之后才会输出c1。
在这个类第一次被调用或实例化的时候就会被执行。静态代码块只会执行一次,一般会用来初始化一些值,并且在所有对象中全局共享。
Q2: Java静态代码块和静态方法的区别
两者的区别就是:静态代码块是自动执行的;静态方法是被调用的时候才执行的.静态方法 (1)在Java里,可以定义一个不需要创建对象的方法,这种方法就是静态方法。要实现这样的效果,只需要在类中定义的方法前加上static关键字。
不同点:静态代码块在非静态代码块之前执行(静态代码块—非静态代码块—构造方法)。静态代码块只在第一次new执行一次,之后不再执行,而非静态代码块在每new 一次就执行一次。
用static修饰的代码块表示静态代码块,当Java虚拟机(JVM)加载类时,就会执行该代码块(用处非常大,呵呵)。
且在构造函数主体代码执行之前被执行。区别如下:执行次数不同 静态块只执行一次,初始化块可以执行多次。作用不同 静态初始化块仅能初始化类变量,即static修饰的数据成员。非静态初始化块可以初始化类的实例变量。
静态方法是共享代码段,静态变量是共享数据段。既然是“共享”就有并发(Concurrence)的问题。非静态方法是针对确定的一个对象的,所以不会存在线程安全的问题。静态方法和实例方法是一样的,在类型第一次被使用时加载。
关于java有两个静态代码块和java接口中静态代码块的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。






