面试宝典——Java基础

来源:互联网 发布:独战乾坤进阶数据大全 编辑:程序博客网 时间:2024/05/21 10:27

1、一个”.java”源文件中是否可以包括多个类(不是内部类 )?有什么限制?

一个“.java”源文件里面可以包含多个类,但是最多只允许有一个public类,并且类名必须和文件名一致。(每个编译单元(文件)都只有一个public 类。)
java程序是从一个public类的main函数开始执行的,(其实是main线程)。只能有一个public类是为了给类装载器提供方便。
编译.java文件的时候,它会给每一个类生成一个.class文件

2、Java中有哪些关键字?

关键字含义abstract表明类或者成员方法具有抽象属性assert用来进行程序调试boolean基本数据类型之一,布尔类型break提前跳出一个块byte基本数据类型之一,字节类型case用在switch语句之中,表示其中的一个分支
  catch用在异常处理中,用来捕捉异常char基本数据类型之一,字符类型class类const保留关键字,没有具体含义continue回到一个块的开始处default默认,例如,用在switch语句中,表明一个默认的分支do用在do-while循环结构中double基本数据类型之一,双精度浮点数类型else用在条件语句中,表明当条件不成立时的分支enum枚举extends表明一个类型是另一个类型的子类型,这里常见的类型有类和接口final用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变,用来定义常量finally用于处理异常情况,用来声明一个基本肯定会被执行到的语句块float基本数据类型之一,单精度浮点数类型for一种循环结构的引导词goto保留关键字,没有具体含义if条件语句的引导词implements表明一个类实现了给定的接口import表明要访问指定的类或包instanceof用来测试一个对象是否是指定类型的实例对象int基本数据类型之一,整数类型interface接口long基本数据类型之一,长整数类型native用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的new用来创建新实例对象package包private一种访问控制方式:私用模式protected一种访问控制方式:保护模式public一种访问控制方式:共用模式return从成员方法中返回数据short基本数据类型之一,短整数类型static表明具有静态属性strictfp用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范super表明当前对象的父类型的引用或者父类型的构造方法switch分支语句结构的引导词synchronized表明一段代码需要同步执行this指向当前实例对象的引用throw抛出一个异常throws声明在当前定义的成员方法中所有需要抛出的异常transient声明不用序列化的成员域try尝试一个可能抛出异常的程序块void声明当前成员方法没有返回值volatile
  表明两个或者多个变量必须同步地发生变化while
  用在循环结构中
  

3、四种权限关键字比较?

private: Java语言中对访问权限限制的最窄的修饰符,一般称之为“私有的”。被其修饰的属性以及方法只能被该类的对象 访问,其子类不能访问,更不能允许跨包访问。
default:即不加任何访问修饰符,通常称为“默认访问权限“或者“包访问权限”。该模式下,只允许在同一个包中进行访问。
protected: 介于public 和 private 之间的一种访问修饰符,一般称之为“保护访问权限”。被其修饰的属性以及方法只能被类本 身的方法及子类访问,即使子类在不同的包中也可以访问。
public: Java语言中访问限制最宽的修饰符,一般称之为“公共的”。被其修饰的类、属性以及方法不仅可以跨类访问,而且 允许跨包访问。

Java四种权限修饰符

抽象类和接口的区别?

接口(interface)可以说成是抽象类的一种特例,接口中的所有方法都必须是抽象的。接口中的方法定义默认为public abstract类型,接口中的成员变量类型默认为public static final (既然一个变量被final修饰了,那么这个变量就是一个常量,必须初始化!!!)

参数 抽象类 接口 默认的方法实现 它可以有默认的方法实现 接口完全是抽象的。(Java8新特性:接口可以有默认实现方法) 实现 抽象类中可以有普通成员变量和非抽象的普通方法 两个都不可以有 构造器 抽象类可以有构造器 接口不能有构造器 与正常Java类的区别 除了你不能实例化抽象类之外,它和普通Java类没有任何区别 接口是完全不同的类型 访问修饰符 抽象方法可以有publicprotecteddefault这些修饰符 接口方法默认修饰符是public abstract。不可以使用其它修饰符。 main方法 抽象方法可以有main方法并且可以运行它 接口没有main方法,因此不能运行它。 多继承 抽象方法可以继承一个类和实现多个接口 接口只可以继承一个或多个其它接口 添加新方法 如果你往抽象类中添加新的方法,你可以给它提供默认的实现。因此你不需要改变你现在的代码。 如果你往接口中添加方法,那么你必须改变实现该接口的类。
0 0
原创粉丝点击