Java 面试宝典
1、"=="和 equals 方法究竟有什么区别 "=="和 ==操作符专门用来比较两个变量地址的的值是否相等, 如果地址不相等的话 就不用比较值了,也就是用于比较变量所对应的内存中所存储的数值是否相同, 要比较两个基本类型的数据或两个引用变量是否相等,只能用==操作符 equals 方法是用于比较两个独立对象的内容是否相同,就好比去比较两个人 的长相是否相同,它比较的两个对象是独立的。 (equal 方法需要重写) 。 2、面向对象的特征有哪些方面 面向对象的编程语言有:封装、继承、多态
·继承:继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确 表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类继承 了原始类的特性,新类称为原始类的派生类(子类) ,而原始类称为新类的基类(父类) 。派 生类可以从它的基类那里继承方法和实例变量, 并且类可以修改或增加新的方法使之更适合 特殊的需要。 ·封装:封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向对 象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对 象通过一个受保护的接口访问其他对象。 把握一个原则: 把对同一事物进行操作的方法和相 关的方法放在同一个类中,把方法和它操作的数据放在同一个类中。 ·多态性:多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态 性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势,很好的解决了 应用程序函数同名问题。
中父类的构造方法能不能被重写?能不能被重载? 3、Java 中父类的构造方法能不能被重写?能不能被重载?
重写是相对于父类和子类而言的,子类会继承父类的所有属性和方法(注意修饰符,构 造器) ,当子类中定义有和父类相同的方法时,会将父类的方法覆盖,但是父类中的构造方 法是不能被子类继承的所以就当然不能不子类重写。 重载是对于同一类而言的, 同一个类中允许有相同的方法名不同的参数 (参数的个数不 同,参数的类型不同) ,重载和方法的返回值没有关系。
中多线程的实现方法有哪些,各有什么不同, 4、Java 中多线程的实现方法有哪些,各有什么不同,你认为它们最大的区别在 哪里,为什么有这种区别? 哪里,为什么有这种区别?
方法:继承 thread 类 、实现 runnable 接口 不同点:a、继承 thread 类是不必须重写 run 方法(但是这是没有任何意义的) ,实现 runnable 接口必须重写 run 方法。 b、结合下面的
代码自己总结 继承 thread 类 MyThread thread1 = new MyThread() ; MyThread thread2 = new MyThread() ; thread1.start() ; thread2.start() ; thread1.run() ; thread2.run() ; 实现 runnable 接口
MyThread myThread = new MyThread() ; Thread thread1 = new Thread(myThread) ; Thread thread2 = new Thread(myThread) ; thread1.start() ; thread2.start() ; thread1.run() ; thread2.run() ; 最大的区别:结合不同点 a 回答 原因:thread 类中的方法都是已经被实现,所以不必须重写。实现 runnable 接口时接口 中的方法都是没有被实现的,所以必须要重写。
5、静态方法能不能被继? 可以。 静态方法能不能被继? 静态类可不可以继承? 6、静态类可不可以继承? 可以。 参考模型共有几层,分别是? 的哪一层? 7、osi 参考模型共有几层,分别是? Tcp 属于 osi 的哪一层?
共七层:物理层 数据链路层
网络层 传输层 会话层 表示层 应用层 Tcp 属于 osi 的第四层
8.操作 linux 需要用户保和密码,android 中启动两个应用程序操作底层
linux,两次所需用户名和密码是否 一样
是最基本的数据类型吗? 8、String 是最基本的数据类型吗