-
问: 为什么Java可以实现一次编写,到处运行? 答: 1. JVM(Java虚拟机)是跨平台的关键. 2. 跨平台的是Java程序,不是JVM. JVM是用C/C++开发的软件,不同平台下要安装不同版本的JVM.
-
问:一个Java可以有多个类吗?(不含内部类) 答: 1. 一个Java文件可以有多个类,但最多只能有一个被public装饰的类 2. 如果这个Java文件中包含public修饰的类,则这个类的名称必须和Java文件名一致.
-
说一下你对Java权限的了解 答: Java提供了三种访问修饰符,即private,protected,public,一共可以形成四种访问权限,即private,default,protected,public 注 不加修饰符时为default访问权限. 在修饰成员变量或成员方法时,这四种访问权限的含义如下: private: 该成员可以被该类内部成员访问 default: 该成员可以被该类内部成员访问,也可以被同一包下其他的类访问; protected: 该成员可以被该类内部成员访问,也可被同一包下其他的类访问,还可以被它的子类访问 public:该成员可以被任意包下,任意类的成员进行访问. 在修饰类时,该类只有两种访问权限,对应的访问权限含义如下: default: 该类可以被同一包下其他的类访问 public: 该类可以被任意包下,任意的类访问.
-
问:static与final的区别?
答:static关键字可以修饰成员变量.成员方法.初始化块.内部类,被static修饰的成员是类的成员,它属于类,不属于单个对象. 以下是static修饰这4种成员时表现出的特征:
- 类变量: 被static修饰的成员变量叫类变量(静态变量).类变量属于类,它随类的信息存储在方法区,并不随对象存储在堆中,类变量可以通过类名来访问,也可以通过对象名来访问,但建议通过类名访问它.
- 类方法: 被static修饰的成员方法叫类方法(静态方法). 类方法属于类,可以通过类名访问,也可以通过对象名访问,建议通过类名访问.
- 静态块: 被static修饰的初始化块叫静态初始化块. 静态块属于类,它在类加载的时候被隐式调用一次,之后便不会被调用了.
- 静态内部类: 被static修饰的内部类叫静态内部类. 静态内部类可以包含静态成员,也可以包含非静态成员. 静态成员类不能访问外部类的实例成员,只能访问外部类的静态成员.外部类的所有方法,初始化块都能访问其内部定义的静态内部类.
final关键字可以修饰类.方法.变量,以下是final修饰这3种目标时表现出的特征:
- final类: final关键字修饰的类不可以被继承
- final方法: final关键字修饰的方法不可以被重写
- final变量: final关键字修饰的变量,一旦获得了初始值,就不可以被修改.
扩展阅读 变量分为成员变量.局部变量 final修饰成员变量:
- 类变量: 可以在声明变量时指定初始化值,也可以在静态初始化中指定初始值.
- 实例变量: 可以在声明变量时指定初始值,也可以在初始化块或构造方法中指定初始值
final修饰局部变量: 可以在声明变量时指定初始值,也可以在后面的代码中指定初始值
注意: 被final修饰的任何形式的变量,一旦获得了初始值,就不可以被修改!