1.Static关键字
当所有对象都使用者一个属性的时候,就要设置一个类内的全局变量。
当建立一个类时,且需要将所有的对象具有相同属性,这个属性被这个类的所有成员所共享
可以将这个成员设置成为静态的,静态的成员在加载类的时候一并加载进内存,并且只需要存一份在内存就可以了,
在建立新对象时,不需要重新对静态成员进行分配内存空间
只要权限允许,可以直接通过类名访问静态成员
建立类是,可以将类成员分为,类成员和实例成员,所有对象都可以访问,都可以修改它。
public static int count= 0;
静态成员方法只能访问静态属性,既不能用this也不能用super
main() 方法是静态的,因此JVM在执行main方法时不创建main方法所在的类的实例对象,因而在main()方法中,我们不能直接访问该类中的非静态成员,必须创建该类的一个实例对象后,才能通过这个对象去访问类中的非静态成员,这种情况,我们在以后的例子中会多次碰到。
class Person {
public static int total;
static{
total = 100;//为total赋初值
}
…… //其它属性或方法声明
}
2.final 关键字
final常量关键字可以用来修饰类的属性,方法,类也可以被用来修饰为常量。
2.1 final 常量不能被修改 声明的同时必须进行赋值,或者在构造函数内进行,实例化的同时进行初始化,也可以。
final 函数不能被重载
final 类不能被继承
3.abstract 关键字
含有抽象方法的类,必须声明为抽象类,抽象类是用来被继承的,所以只能先被继承然后再实例化,且被继承的过程中,必须要将抽象方法进行重载。抽象方法只有函数头,没有函数体,而且以分号结束。abstract 不能用来修饰 静态函数,构造函数和私有函数。比如
abstract int abstractMethod1( int a );
抽象类是用来模型化那些父类无法确定全部实现,而是由其子类提供具体实现的对象的类。
4.interface 关键字
接口是一种特殊的抽象类。在接口的内部只有常量的定义和,抽象函数。没有变量和函数体。
接口用interface 修饰 ,常量默认 修饰 public static final
函数默认,修饰 public abstract
接口可以继承接口
5.内部类
inner类 和 包涵inner类的外部类,是隶属关系。在外部引用内部类是,要给出完整名称A.B