Java基础(一)

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类的基本方法
    答:常用的有:

    1. char charAt(int index): 返回指定索引处的字符
    2. String subString(int beginIndex,int endIndex): 从此字符串汇中截取一部分子字符串
    3. String[] split(String regex):以指定的规则将此字符串分割成数组
    4. String trim(): 删除字符串前后空格
    5. int indexOf(String str): 返回子串在此字符串首次出现的索引
    6. int lastIndexOf(String str): 返回子串在此字符串最后出现的索引
    7. boolean startsWith(String prefix): 判断此字符串是否以指定的前缀开头
    8. boolean endWith(String suffix): 判断此字符串是否以指定的后缀结尾
    9. String toUpperCase(): 将此字符串中所有字符改成大写
    10. String toLowerCase(): 将此字符串中的所有字符小写
    11. String replaceFirst(String regex,String replacement):用指定字符串替换第一个匹配的子串
    12. String replaceAll(String regex,String replacement): 用指定字符串替换所有的匹配的子串
  • 问:static与final的区别?
    答:static关键字可以修饰成员变量.成员方法.初始化块.内部类,被static修饰的成员是类的成员,它属于类,不属于单个对象. 以下是static修饰这4种成员时表现出的特征:

  1. 类变量: 被static修饰的成员变量叫类变量(静态变量).类变量属于类,它随类的信息存储在方法区,并不随对象存储在堆中,类变量可以通过类名来访问,也可以通过对象名来访问,但建议通过类名访问它.
  2. 类方法: 被static修饰的成员方法叫类方法(静态方法). 类方法属于类,可以通过类名访问,也可以通过对象名访问,建议通过类名访问.
  3. 静态块: 被static修饰的初始化块叫静态初始化块. 静态块属于类,它在类加载的时候被隐式调用一次,之后便不会被调用了.
  4. 静态内部类: 被static修饰的内部类叫静态内部类. 静态内部类可以包含静态成员,也可以包含非静态成员. 静态成员类不能访问外部类的实例成员,只能访问外部类的静态成员.外部类的所有方法,初始化块都能访问其内部定义的静态内部类.

final关键字可以修饰类.方法.变量,以下是final修饰这3种目标时表现出的特征:

  1. final类: final关键字修饰的类不可以被继承
  2. final方法: final关键字修饰的方法不可以被重写
  3. final变量: final关键字修饰的变量,一旦获得了初始值,就不可以被修改.

扩展阅读
变量分为成员变量.局部变量
final修饰成员变量:

  1. 类变量: 可以在声明变量时指定初始化值,也可以在静态初始化中指定初始值.
  2. 实例变量: 可以在声明变量时指定初始值,也可以在初始化块或构造方法中指定初始值

final修饰局部变量:
可以在声明变量时指定初始值,也可以在后面的代码中指定初始值

注意: 被final修饰的任何形式的变量,一旦获得了初始值,就不可以被修改!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容