1: 代码书写问题
C++中的define 的那些常量实现 可以使用------> interface 里定义变量
2:final在java中有“最终”、“不能改变”等含义,它可以修饰非抽象的类以及其成员方法和变量。
1. final类,不能被继承。因此其成员函数默认也是final的。用于修饰那些设计后不允许被修改和扩充的类。
2. final方法,不允许子类修改。用于限制子类修改方法,或是提高效率(编译器在遇到调用final方法时候会转入内嵌机制,java中没有inline)
3. final变量,第一次赋值后便无法更改,赋值可以不在初始化过程进行,总之final只能赋值一次。
4. final参数,防止引用参数在函数中被修改。在java中8种基本数据类型做函数的形参时默认为“传值”即值传递。而此以外的数据类型,包括自定义类的实例做形参时默认为“传址”,即传递的是变量的引用,此时在变量前加final修饰可以防止其在函数中被意外修改。
5. final不能用于修饰构造函数。
static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念。
1. static成员变量,与c++相同 static 初始化一次 但是可以多次改变值
2. static成员函数,与c++相同
3. static代码块也叫静态代码块,是在类中独立于类成员的static语句块,可以有多个,位置可以随便放,它不在任何的方法体内,JVM加载类时会执 行这些静态的代码块,如果static代码块有多个,JVM将按照它们在类中出现的先后顺序依次执行它们,每个代码块只会被执行一次。利用静态代码块可以对static变量进行赋值。
4. static方法不能用abstract修饰,不能调用非static方法。