@
静态变量:
Static关键字用来声明
独立于对象
的静态变量,无论一个类实例化多少对象,它的静态变量只有
一份
拷贝。
静态变量也被称为类变量。局部变量能被声明为static变量。(在类中但不随实例化类而改变)
@静态方法:
Static关键字用来声明独立于对象的静态方法。静态方法不能使用类的非静态变量。
静态方法从参数列表得到数据,然后计算这些数据。
@Final变量:
Final变量只能被显式地初始化一次。被声明为final的对象的引用不能指向不同的对象。
但是final对象里的数据可以被改变。也就是说final对象的引用不能改变,但是里面的值可以改变。
Final修饰符通常和static修饰符一起使用来创建类常量。
@Final方法
类中的Final方法可以被子类继承,但是不能被子类修改。
声明final方法的主要目的是防止该方法的内容被修改。
@Final类
Final类不能被继承,没有类能够继承final类的任何特性。
@ 虚方法作用:父类型 用 子类的方法。 原理:编译器和JVM分别看不同的类。
@ 抽象类(abstract)抽象类不能实例化对象,常在设计阶段决定要不要设计抽象类。
@ 抽象方法(abstract)抽象方法只包含一个方法名,而没有方法体。(末尾分号)
如果一个类包含抽象方法,那么该类必须是抽象类。
任何子类必须重写父类的抽象方法,或者声明自身为抽象类。
最终,必须有子类实现该抽象方法,否则,从最初的父类到最终的子类都不能用来实例化对象。
@ super() 在子类的构造函数中用父类的构造函数。
@接口(interface)
一个抽象类型,是抽象方法的集合。(方法全为抽象)
接口并不是类,类描述对象的属性和方法,接口则包含类要实现的方法。
一个类通过继承接口的方式,从而来继承接口的抽象方法。这个类只有定义了接口的所有方法,才能不是抽象类。
接口类型可用来声明一个变量,他们可以成为一个空指针,或是被绑定在一个以此接口实现的对象。
接口不是被类继承了,而是要被类实现。接口支持多重继承。
接口没有构造方法。接口不能包含成员变量,除了static和final变量
接口相应的字节码文件必须在与包名称相匹配的目录结构中。