1. Java有没有goto?
有, Goto语句在java中做为保留字, 并无实现它. 带标号的break, continue局限于循环体中跳转 带标号的goto能够在一个函数(c语言)中任意跳转 Goto比带标号的break,continue用法灵活, 正由于太灵活了使程序的逻辑结构变得复杂, 流程不够清晰, 程序的可读性降低 因此java把goto保留了.
2.在JAVA中如何跳出当前的多重嵌套循环?
Break关键字+标签, 标签的位置放在最外层循环开始的上一行, 以冒号结束. 即便用break outer到指定的位置, 来结束多重嵌套循环.
3.short s1= 1; s1 = 1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
没有错; 没有错
4.char型变量中能不能存贮一个中文汉字?为何?
能够, 由于char是两个字节, 而unicode的汉字编码所占用的存储空间就是两个字节
5.使用final关键字修饰一个变量时,是引用不能变,仍是引用的对象不能变?
是引用不能变, 而不是引用的对象不能改变
6.接口是否可继承接口?抽象类是否可实现(implements)接口?抽象类是否可继承具体类(concreteclass)?抽象类中是否能够有静态的main方法?
接口能够继承接口, 抽象类能够实现接口, 抽象类能够继承具体类, 抽象类能够有静态的main方法, 还能够直接执行的.
7.Overload和Override的区别?Overload的方法是否能够改变返回值的类型?
Overload是在一个类里面方法的重载, 指方法名相同参数类型,个数,顺序不一样, 来实现的方法重载 Override是在继承关系中, 子类重写父类的方法, 方法名, 返回值, 参数都必须相同. 重载的时候是能够改变方法的返回值的, 由于重载与方法的放回值类型无关
8.构造方法的做用是什么?构造方法和普通方法的区别?
构造方法的做用是在新建一个对象的时候, 调用构造方法来建立对象.
构造方法和普通方法的区别: 1.普通方法必须有返回值类型修饰符, 而构造方法不能有返回值类型修饰符; 2.构造方法名必须和类名相同 3.普通方法用来定义对象的行为, 而构造方法用来初始化 9.super()或者this():为何必定要定义在第一行?是否能够同时出现?
由于super()和this()是调用的父类或本类的无参构造器, 由于Java不容许调用没有初始化的成员. 只有使用了super()或this()来初始化了对象以后, 才能调用该对象并继续进行后续操做. Super()为何要定义在第一行? 由于子类的构造器中可能会使用父类的属性或方法, 若是父类都没有被建立, 那么就会致使空指针异常, 所以, super()应先执行, 来建立父类的对象. This()为何要定义在第一行? 由于若是不定义在第一行, 那么当子类建立对象时, 首先会调用父类的无参构造器, 这时候就建立了一个父类的对象. 而后继续执行, 遇到了this()的时候, 就调用该构造器, 而这个构造器又属因而建立子类的对象, 又须要去调用父类的构造器. 也就是说, 形成了资源的浪费, 和同步不一致的问题. 不能同时出现, 由于它们两个都要求只能出如今第一行. Super()和this()都是调用构造函数进行初始化, 而初始化的动做须要先完成.
10.访问修饰符有哪些?各自的做用范围是什么? Private: 私有的, 本类中 Public: 共有的, 任何位置 Protected: 受保护的, 本类, 同一个包和子类中能够访问 缺省的: 同一个包中
11.static的做用和用法?
Static的做用是把属性和方法定义为静态的, 能够在不建立对象的时候就调用这些属性和方法. 它只须要初始化一次, 可用来定义不常常改变的属性, 或者是对象的计数器. 用法? 类名.属性 或 类名.方法名() , 即经过类名直接调用.
12.是否能够从一个static方法内部发出对非static方法的调用? 不能够. Static的方法内部职能访问static修饰的属性和方法 由于普通的属性和方法是依赖于对象的, 只有建立了对象以后, 才能经过对象进行访问. 而此时静态方法是没有建立对象的, 所以就会报异常.
13.值传递和引用传递的区别? 1.一个是针对基本数据类型, 一个针对引用数据类型 2.值传递传递的是值, 引用传递传递的是地址 3.值传递是拷贝了一份新的值给形式参数, 在方法中进行操做不会影响原来的值; 而引用传递的是地址, 两个引用指向同一个地址, 所以方法中改变了这个地址中的数据,那么原来的数据也会改变.
14.什么继承?继承有什么优势?继承使用什么关键字?继承的特色?继承的限制?一个类能够同时继承多个类吗?全部类的父类是什么?
继承就是一个类继承另外一个类的属性和方法. 继承的优势是能够实现代码的重用, 使组件类型保持一致. Extends关键字, 类只能单继承类, 但能够实现多个接口. 全部类的父类是Object类
15.什么是重写?用什么方法能够强制检当前方法是否重写父类方法?
重写是指在继承关系中, 子类从新实现了父类中存在的方法. @Override关键字
16.什么是多态?多态主要的应用是什么?
多态就是指同一个方法, 不一样的实现. 多态分为编译时的多态和运行时的多态, 编译时的多态经过方法的重载实现. 运行时的多态经过方法的重写实现. 多态主要运用于增长程序的灵活性, 增长程序的可扩展性.
17.什么是抽象方法?什么是抽象类?Java抽象类能够有构造函数吗?Java抽象类能够有static方法吗?abstract方法能够用static修饰吗? 抽象方法就是使用abstract关键字修饰的方法.
抽象类是指abstract关键字修饰的类.
Java抽象类能够有构造函数,
Java抽象类能够有static方法,
abstract方法不能用static修饰, 由于抽象方法须要被继承和实现,
而static修饰的方法是能够经过类名直接访问的, 尚未方法体就被访问逻辑上是不合理的.
18.静态方法能够被重写吗?Java抽象类中能够包含main方法吗?
静态方法不能够被重写. 由于静态方法是在类加载时就被加载到内存中的方法, 在整个运行过程当中保持不变, 于是不能重写.
但非静态方法是在对象实例化才单独申请内存空间, 为每个实例分配独立的运行内存, 于是能够重写. Java抽象类能够包含main方法
19.abstract class 和interface的区别?
抽象类是指abstract关键字所修饰的类, 里面能够包含普通方法和抽象方法, 还能够有构造函数和普通属性. Interface是接口,里面只能包含常量和抽象方法, 不能有构造方法,普通属性和普通方法, 也不鞥你有main方法, 抽象类是一个类, 而接口的核心是方法
20.请说说引用和对象? 引用是指一个指向引用数据类型地址的指针, 对象是指一个类的实例. 引用能够指向一个对象, 对象也能够包含多个引用 对象是引用数据类型, 引用数据类型不只仅包含对象