在我的一次访谈中,我被要求解释Interface和Abstract类之间的区别.
这是我的回答:
Java接口的方法是隐式抽象的,不能有实现.Java抽象类可以具有实现默认行为的实例方法.
在Java接口中声明的变量默认为final.抽象类可能包含非最终变量.
默认情况下,Java接口的成员是公共的.Java抽象类可以具有类似私有,受保护等类通常的类成员.
应使用关键字"implements"实现Java接口; 应使用关键字"extends"扩展Java抽象类.
接口只能扩展另一个Java接口,抽象类可以扩展另一个Java类并实现多个Java接口.
Java类可以实现多个接口,但它只能扩展一个抽象类.
然而,面试官并不满意,并告诉我这个描述代表了" 书本知识 ".
他告诉我一个更实际的回答,解释我何时会使用实际例子在界面上选择一个抽象类.
我哪里做错了?
我编写了一个程序,使用2个线程打印1到200的数字.
现在我想使用JConsole监视这个程序.
基本上我想学习如何使用JConsole来监视应用程序.
我搜索谷歌但找不到有用的东西.
我怎么能做到这一点?
当我开始jconsole.exe在bin文件夹中.它要求输入主机名和端口号.在我的情况下,我猜没有.有人可以指导.
我正在阅读关于Hashmap的内容.
HashMap的一个实例有两个影响其性能的参数:初始容量和负载因子.容量是哈希表中的桶数.
如果Hashmap中有10个键值对.假设Hashcode不同.
每个人都在一个桶里吗?或者一个桶可以有多个键值对?
因为bucket在英语中意味着许多物体可以驻留的大事.
假设我有1个完整的类,其中包含约20种提供不同功能的方法。
现在,我们有多个使用此类的客户端,但我们希望它们具有受限的访问权限。
例如-
客户端1-可以访问method1 / m3 / m5 / m7 / m9 / m11
客户端2-可以访问method2 / m4 / m6 / m8 / m10 / m12
有什么办法可以限制此访问权限?
我认为的一种解决方案:
创建2个扩展父类的新类,并覆盖无法访问的方法,并从中抛出Exception。但是,如果第3个客户端有不同的要求,我们必须为其创建新的子类。
还有其他方法吗?
我开发了一个Web应用程序,我可以在其中注册一名员工.
我的 web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>Employee Registration</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>sapient</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>sapient</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
</web-app>
Run Code Online (Sandbox Code Playgroud)
现在,当我点击Register我的html页面中的一个按钮时.它转到一个控制器类,我已经编写了一个用于记录的代码,
@org.springframework.stereotype.Controller
public class RegController {
private static final Logger LOGGER = Logger
.getLogger(RegController.class.getName());
@RequestMapping(value = "/register.htm", method = RequestMethod.GET)
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response) throws Exception {
LOGGER.debug("ENTERING the contoller class");
ModelAndView mav = new ModelAndView("register");
LOGGER.debug("exiting the contoller class");
return mav;
}
Run Code Online (Sandbox Code Playgroud)
}
我创建了一个名为的包,resource并在其中创建了一个log4j.properties文件 …
我总是在JSOUP代码中随处可见.
Useragent 设置为Mozilla.
如果我想将其设置为谷歌浏览器或歌剧,该怎么办?
Jsoup.connect(url)
.userAgent("Mozilla");
Run Code Online (Sandbox Code Playgroud)
我怎么能做到这一点?提前致谢.
我想使用ObjectContentManager在节点下添加节点.
我可以使用ObjectContentManager添加单个节点
Pojo1 p1 = new Pojo1 ();
p1 .setPath("/p1");
p1 .setName("p_3");
p1 .insert(p1);
ocm.save();
Run Code Online (Sandbox Code Playgroud)
现在在这个节点下我想添加另一个Pojo2类节点.我写了一段代码,但它给了我一个例外.
Pojo2 p2 = new Pojo2 ();
p2.setPath("/p1/p2");
p2.setName("p_3");
p2.insert(p2);
ocm.save();
Run Code Online (Sandbox Code Playgroud)
但这给了我一个例外.
org.apache.jackrabbit.ocm.exception.ObjectContentManagerException: Cannot create new node of type nt:pojo1 from mapped class class com.sapient.Pojo1; nested exception is javax.jcr.nodetype.ConstraintViolationException: No child node definition for p2 found in node /p1
Run Code Online (Sandbox Code Playgroud)
我怎么能做到这一点?提前致谢.
最近我参加了一次采访.
有人问我怎么上课Immutable.
我告诉他答案.
但后来他问我为什么这些田地final?
我回答说,用户不会意外地更改字段的值,如果他这样做,将给编译器错误.
现在他问我有一个immutable只有getter方法的类.
然后在这个班级有什么用final?
我无法回答.他说这背后有一个原因.
有人可以解释一下吗?
PS:
This question has been edited a few times as my previous code doesn't demonstrate the problem. There are some answers which may not make perfect sense against the edited question
我有一个名为的公共类 Son.java
package com.t;
public class Son extends Father {
static int i;
static {
System.out.println("son - static");
i = 19;
}
{
System.out.println("son - init-block");
}
public static void main(String[] args) {
//Son s = new Son();
int a[] = new int[2];
System.out.println(a[5]);
}
}
class Father { …Run Code Online (Sandbox Code Playgroud) 我正在使用Spring MVC.我有一个主页index.jsp
<a href="register.htm"> Register an Employee</a>
<input type="button" onclick="register.htm" value="REGISTER">
Run Code Online (Sandbox Code Playgroud)
当我点击链接时Register an Employee,流程进入了handleRequest但是当我点击提交按钮时没有发生任何事情.
我的handleRequest方法看起来像这样.
@RequestMapping(value = "/register.htm", method = RequestMethod.GET)
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response) throws Exception {
ModelAndView mav = new ModelAndView("register");
return mav;
}
Run Code Online (Sandbox Code Playgroud)
我怎么能这样做?
java ×9
inheritance ×2
oop ×2
abstraction ×1
collections ×1
debugging ×1
forms ×1
hashmap ×1
immutability ×1
interface ×1
jackrabbit ×1
jconsole ×1
jsoup ×1
log4j ×1
spring ×1
spring-mvc ×1
static ×1
web.xml ×1