java未声明代码块,java在源文件中未声明类

Java常见代码块的作用与区别

1. 局部代码块

创新互联建站专注于同安企业网站建设,成都响应式网站建设,商城开发。同安网站建设公司,为同安等地区提供建站服务。全流程按需设计,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务

作用在方法当中,作用是控制变量的生命周期:

public void show(){

{

System.out.println("局部代码块运行!");

}

}123456

在程序中当我们定义完成一个局部变量x之后,并且在接下来的代码中,不想再用到它时,那么就没必要让x在内存中继续占用空间。因此就有了局部代码块。

2. 构造代码块

作用在类的定义Body中,作用是给类的部分字段统一初始化:

public class Apple {

private String size;

//构造代码块

{

System.out.println("构造代码块运行!");

size = "E";

}

}

12345678910

构造代码块与构造函数的区别是:构造代码块是给所有对象进行统一初始化,而构造函数是给对应的对象初始化,因为构造函数是可以多个的,运行哪个构造函数就会建立什么样的对象,但无论建立哪个对象,都会先执行相同的构造代码块。也就是说,构造代码块中定义的是不同对象共性的初始化内容。所以理所当然的,构造代码块在构造函数之前执行。

3. 静态代码块

作用有两个:

(1)给类的静态变量赋值;

(2)声明静态变量;

作用在类的Body中,对类中的静态变量初始化:

public class APP {

static int x, y; // 静态变量

static {

x = 5; // 给静态变量x赋值

}

public static void myMethod() {

y = x++ + ++x; // x++ 先使用x的值再加1;++x先加1再使用x的值

}

public static void main(String[] args) {

x--;

myMethod();

System.out.println(x + y + ++x);

}

}

输出:23

java中未声明的变量也能使用?

其实n是声明过了的。类加载的时候先加载静态成员函数,然后再加载静态变量。加载变量的时候先执行声明一块,也就是static int m; static int n; static int i; 根据静态成员变量m, n 和i都会被默认赋值为0,这个时候m,n,i都被声明了;然后再依次执行m=n=foo(); n=goo(); i=10;的赋值。

非静态变量也测试过了,好像就是这么个理O(∩_∩)O

在java中什么是代码块?

java中有四种代码块

1.普通代码块:直接在{}中出现的。

2.构造代码块:在构造函数的{}中出现的。

3.静态代码块:static{}中出现的。

4.同步代码块:多线程中出现。

Java关于代码块的问题

这个是因为你的代码写在匿名内部类里面,java在类里只允许声明成员变量和函数,是不能直接写代码的。

代码逻辑应该写在函数内部。


新闻名称:java未声明代码块,java在源文件中未声明类
链接地址:http://myzitong.com/article/dscshjg.html