Java知识分享网 - 轻松学习从此开始!    

Java知识分享网

Java1234官方群25:java1234官方群17
Java1234官方群25:838462530
        
SpringBoot+SpringSecurity+Vue+ElementPlus权限系统实战课程 震撼发布        

最新Java全栈就业实战课程(免费)

springcloud分布式电商秒杀实战课程

IDEA永久激活

66套java实战课程无套路领取

锋哥开始收Java学员啦!

Python学习路线图

锋哥开始收Java学员啦!

达令Java面试 PDF 下载


分享到:
时间:2020-05-07 10:41来源:http://www.java1234.com 作者:小锋  侵权举报
达令Java面试 PDF 下载
失效链接处理
达令Java面试 PDF 下载

本站整理下载:
提取码:ws67 
 
 
相关截图:
 
主要内容:

              Java 工程师面试题
1.请用单循环或递归代码实现n! ?
//for循环实现阶乘
public static long Factorial(int n) {
 
int sum = 1;
for (int i = 1; i <= n; i++) {
sum = sum * i;
}
 
return sum;
 
}
//递归实现阶乘
public static int DiGuiJieCheng(int n) {
 
int sum;
if(n==1||n==0) {
return 1;
}else {
sum=n*DiGuiJieCheng(n-1);
return sum;
 
}
}
2.举例说明你什么时候会用抽象类 ,什么时候更愿意用接口?
如果你拥有一些方法并且想让它们中的一些有默认实现,那么使用抽象类吧。
如果你想实现多重继承,那么你必须使用接口。由于Java不支持多继承,子类不能够继承多个类,但可以实现多个接口。因此你就可以使用接口来解决它。
如果基本功能在不断改变,那么就需要使用抽象类。如果不断改变基本功能并且使用接口,那么就需要改变所有实现了该接口的类。
3.请写出一个预加载的单例模式和一个懒加载的单例模式?
/**
    * 饿汉模式-预加载模式
 * @author Administrator
 */
  class LazySingleton1{
 
  private LazySingleton1() {}
  
  private static LazySingleton1 instance=new LazySingleton1();
  
  public static LazySingleton1 getInstance() {
  
  return instance;  }  }
 
/**
 * 懒汉模式-懒加载模式
 * @author Administrator
 */
public class LazySingleton {
//默认的私有的构造方法,保证外界无法直接实例化
private LazySingleton() {}; 
 
private static LazySingleton instance=null;
 
//静态方法,返回此类的唯一实例
public static synchronized LazySingleton getInstance() {
if(instance==null) {
instance=new LazySingleton();
}
return instance;
}
 
}
4.有一个类class  Student { String name;…(略)}如果我们需要以Student 类作为 Java.util.HashMap 的键值 , 那么要为Student重写哪些方法, 请完成Student类, 实现上述接口?
public class Student {
 
public String name;
 
public Student(String name) {
super();
this.name = name;
}
 
@Override
public String toString() {
return "Student [name=" + name + "]";
}
 
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
  result = prime * result + ((name == null) ? 0 : name.hashCode());
return result;
}
 
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Student other = (Student) obj;
if (name == null) {
if (other.name != null)
return false;
} else if (!name.equals(other.name))
return false;
return true;
}
}
public class Test {
 
public static void main(String[] args) {
Map<Object, Student> map=new HashMap<>();
 
    map.put(new Student("name1"),new Student("name1"));
    map.put(new Student("name2"),new Student("name2"));
    map.put(new Student("name3"),new Student("name3"));
   // map.put(new Student("name3"),"tom");
    System.out.println(map);
    System.out.println(map.get(new Student("name3")));
}
}

 

------分隔线----------------------------

锋哥公众号


锋哥微信


关注公众号
【Java资料站】
回复 666
获取 
66套java
从菜鸡到大神
项目实战课程

锋哥推荐