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字节码