一个典型的Java类结构大体包含如下:
Import 包名
注释:(写给程序员看的,可以在任何地方
//一行注释
/* 一段注释 */)
@注解名:(Component、Controller等可以注入属性,用于Spring等框架反射读取类信息,当然注解也可以写在字段名,方法,参数等上面用做说明其特性)
类名 继承 父类<泛型T> 实现 接口{
静态代码块:Static {代码}
随类加载而加载,只执行一次,先于主方法
构造代码块:可以提取各构造函数相同的代码,构造方法前执行
构造函数:默认空参
带参构造(可用于传递参数,对象),有带参就默认无空参
先执行父类构造 第一行super()
在堆中new对象,初始化对象
成员变量 一般私有封装 通过方法get,set。属于对象,随对象而生灭
静态成员变量 类名.变量名
静态成员方法 类名.方法名
具有公共变量特性,声明public则任何对象都可以访问,可以不实例化对象
成员方法(形式参数){局部变量和执行代码} 在栈中执行,方法结束局部变量消失
可以重写父类方法或接口方法
方法上可以加Synchronized关键字
或在方法内加同步代码块 用于控制线程对方法中代码的访问
内部类:一个内定义在另一个类的内部
创建静态内部类对象的一般形式为:
外部类类名.内部类类名 xxx = new 外部类类名.内部类类名()
Outter.Inner inner = new Outter.Inner();
创建成员内部类对象的一般形式为:
外部类类名.内部类类名 xxx = 外部类对象名.new 内部类类名()
Outter.Inner inner = new Outter().new Inner();
匿名内部类
一般写在方法接收参数的位置
new 父类名/接口名(){重写方法}
}