Java基础
问: 为什么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: 该类可以被任意包下,任意的类访问.问:介绍下Java数据类型
答:Java数据类型包含基本数据类型和引用数据类型两大类
基本数据类型有8个,分成4个小类
整数类型(byte/short/int/long).
浮点类型(float/double).
字符类型(char).
布尔类型(boolean).
引用类型就是对一个对象的引用,根据引用对象类型不同,可以将引用类型分为3类,即数组\类\接口类型.引用类型本质上就是通过指针,指向堆中对象所持有的内存空间,只是Java语言不再沿用指针此说法.
扩展阅读
- byte 1字节(8位),数据范围是-27~27-1
- short 2字节(16位),数据范围是 -215~215-1
- int 4字节(32位),数据范围是-231~231-1
- long 8字节(64位),数据范围是-263~263-1
- float: 4字节(32位) ,数据范围大约是-3.410^38 ~ 3.410^38。
- double: 8字节(64位) ,数据范围大约是-1.810^308~ 1.810*308。
- char: 2字节(16位) ,数据范围是\u0000 ~ \uff
- boolean: Java规范没有明确的规定,不同的JVM有不同的实现机制。
Java基础(二)
-
问: String类的基本方法
答:常用的有:- char charAt(int index): 返回指定索引处的字符
- String subString(int beginIndex,int endIndex): 从此字符串汇中截取一部分子字符串
- String[] split(String regex):以指定的规则将此字符串分割成数组
- String trim(): 删除字符串前后空格
- int indexOf(String str): 返回子串在此字符串首次出现的索引
- int lastIndexOf(String str): 返回子串在此字符串最后出现的索引
- boolean startsWith(String prefix): 判断此字符串是否以指定的前缀开头
- boolean endWith(String suffix): 判断此字符串是否以指定的后缀结尾
- String toUpperCase(): 将此字符串中所有字符改成大写
- String toLowerCase(): 将此字符串中的所有字符小写
- String replaceFirst(String regex,String replacement):用指定字符串替换第一个匹配的子串
- String replaceAll(String regex,String replacement): 用指定字符串替换所有的匹配的子串
问:static与final的区别?
答:static关键字可以修饰成员变量.成员方法.初始化块.内部类,被static修饰的成员是类的成员,它属于类,不属于单个对象. 以下是static修饰这4种成员时表现出的特征:
- 类变量: 被static修饰的成员变量叫类变量(静态变量).类变量属于类,它随类的信息存储在方法区,并不随对象存储在堆中,类变量可以通过类名来访问,也可以通过对象名来访问,但建议通过类名访问它.
- 类方法: 被static修饰的成员方法叫类方法(静态方法). 类方法属于类,可以通过类名访问,也可以通过对象名访问,建议通过类名访问.
- 静态块: 被static修饰的初始化块叫静态初始化块. 静态块属于类,它在类加载的时候被隐式调用一次,之后便不会被调用了.
- 静态内部类: 被static修饰的内部类叫静态内部类. 静态内部类可以包含静态成员,也可以包含非静态成员. 静态成员类不能访问外部类的实例成员,只能访问外部类的静态成员.外部类的所有方法,初始化块都能访问其内部定义的静态内部类.
final关键字可以修饰类.方法.变量,以下是final修饰这3种目标时表现出的特征:
- final类: final关键字修饰的类不可以被继承
- final方法: final关键字修饰的方法不可以被重写
- final变量: final关键字修饰的变量,一旦获得了初始值,就不可以被修改.
扩展阅读
变量分为成员变量.局部变量
final修饰成员变量:
- 类变量: 可以在声明变量时指定初始化值,也可以在静态初始化中指定初始值.
- 实例变量: 可以在声明变量时指定初始值,也可以在初始化块或构造方法中指定初始值
final修饰局部变量:
可以在声明变量时指定初始值,也可以在后面的代码中指定初始值
注意: 被final修饰的任何形式的变量,一旦获得了初始值,就不可以被修改!