java再学习(一)

package mypackage;                               //定义包

import java.util.List;                           //引入类

public class HelloWorld {                        //定义类
                                                 
	
	private String world = "World";              //变量
	
	public void say() {                          //方法
		System.out.println("Hello"+world+"!");   //语句
	}
	
	public static void main(String args[]) {     //入口方法
		HelloWorld inst = new HelloWorld();      //定义变量
		inst.say();                              //调用方法
	}
}
/**
 *Java类的基本构成:包,引入,类,变量,方法,注释
 *2018.5.9
 *包(package) 语法格式:package packageName;
 *包由一组类和接口组成 命名规则:组织名.公司名.子包名.等等 主要成父子结构
 *引入(import) 语法格式:import packageName.className;   引入一个包中的多个类:import packageName.*;
 *源程序中用到除java.lang这个包以外的类,都需要用import语句标识
 *类(class) 语法规则:class className { 
 *                    	...//类代码
 *                    }
 *源文件名必须与公共类名完全一致
 *一个类通常包含数据与函数两种类型的元素,分别为变量(variable)及成员函数,也称方法(method)
 *注释分为3种 单行注释:在注释前面加"//" 多行注释:在注释前加"/*",结束时加"*反斜杠"
 *文档注释:格式如本段文字
 */

另:Java编译器为每个类生成一个字节码文件,以下为字节码相关内容:

字节码总览图
4字节 Magic Number java文件字节码魔数规定为0xCAFEBABE,寓意咖啡宝贝,一杯咖啡予世人
2+2字节 Version 版本号含主版本号和次版本号,都是各占2个字节
2+n字节 Constant pool 常量池入口,常量池是Class文件中的资源仓库
2字节 Access Flags 访问标志信息包括该Class文件是类还是接口,是否被定义成public,是否是abstract,如果是类,是否被声明成final
2字节 This Class Name 类索引用于确定类的全限定名
2字节 Super Class Name 父类索引
2+n字节 Interfaces 接口索引
2+n字节 Fields 字段表集合,字段表用于描述类和接口中声明的变量
2+n字节 Methods 方法
2+n字节 Attributes


网上详细介绍:一文让你明白Java字节码

另附:关于文件开头几个字节的事儿

Phil Katz

猜你喜欢

转载自blog.csdn.net/a152115/article/details/80265682