我是Go的新手,我想知道如何在Java中实现类似于抽象类和方法的结构.在Java中,我会做以下事情:
abstract class A{
static method1(){
...
method2();
...
}
abstract method2();
}
class B extends A{
method2(){
...
}
}
class C extends A{
method2(){
...
}
}
Run Code Online (Sandbox Code Playgroud)
我知道接口和结构.我可以构建一个接口,然后构建一个struct来实现method1.但是方法2怎么样?我知道我可以在另一个接口中嵌入一个接口,并将结构作为另一个结构的字段嵌入.但我没有看到用这些方法实现我的结构的方法.
我看到的唯一解决方案是在B类和C类中实现method1.还有其他方法吗?
注意:当然,在我的情况下,它不仅仅是一种方法.此外,我有一个抽象类的层次结构,并不真的想把所有内容都移到'子类'.
我在互联网上找到的例子主要是每个界面只有一种方法.如果你们其中一个人能给我一个提示,那就太棒了!谢谢.
我试图在按钮点击的同时在我的应用程序中显示一个底部工作表对话框.但对话框部分打开.我想在点击按钮时完全打开对话框.
我试过以下代码.
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
View showModalBottomSheet = findViewById(R.id.as_modal);
showModalBottomSheet.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//Initializing a bottom sheet
BottomSheetDialogFragment bottomSheetDialogFragment = new CustomBottomSheetDialogFragment();
//show it
bottomSheetDialogFragment.show(getSupportFragmentManager(), bottomSheetDialogFragment.getTag());
}
});
}
}
Run Code Online (Sandbox Code Playgroud)
CustomBottomSheetDialogFragment.java
public class CustomBottomSheetDialogFragment extends BottomSheetDialogFragment {
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
private BottomSheetBehavior.BottomSheetCallback mBottomSheetBehaviorCallback = new BottomSheetBehavior.BottomSheetCallback() {
@Override
public void onStateChanged(@NonNull …Run Code Online (Sandbox Code Playgroud) 我需要根据内容高度动态调整我的iframe高度.我正在使用davidjbradshaw的iframeResizer.js来完成任务.我也在内容页面中添加了iframeResizer.contentWindow.js.和iframe页面中的iFrameResizer.min.js.
在调用时iFrameResize({log:false});我在控制台中收到以下错误:
未捕获的ReferenceError:未定义iFrameResize
我也尝试过调用iFrameResize({log:false})iframe的onload,但我仍然遇到同样的错误.
我有一个表,无法更改标记:
<table>
<thead>
<tr>
<th>
blablabla
</th>
<th>
blablabla
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
efgd
</td>
<td>
efghdh
</td>
</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
这是我的函数,它应删除一列.在单击单击时调用它:
function (menuItem, menu) {
var colnum = $(this).prevAll("td").length;
$(this).closest('table').find('thead tr th:eq('+colnum+')').remove();
$(this).closest("table").find('tbody tr td:eq('+colnum+')').remove();
return;
}
Run Code Online (Sandbox Code Playgroud)
但它会删除其他内容,而不是我想要删除的列.我哪里错了?
以下是我的代码:
Group leftGroup = new Group(parent, SWT.NONE);
leftListWidget = new org.eclipse.swt.widgets.List(leftGroup,
SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL | SWT.MULTI);
leftListWidget.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
Run Code Online (Sandbox Code Playgroud)
从上面的代码中,我认为如果我添加V_SCROLL AND H_SCROLL,它会在我的列表小部件中添加水平和垂直滚动条。但是我看不到任何滚动条。当我增加列表中的记录数时,它只会增加列表的大小(长度)。滚动或设置列表小部件的长度是否有问题?
如何使用不区分大小写的模式进行多字段排序搜索?
我正在使用 lucene 4.10.4 版本并使用多文件排序进行排序
SortField[] sortFiled = new SortField[2];
sortFiled[0] = new SortField("name", SortField.Type.STRING);
sortFiled[1] = new SortField("country", SortField.Type.STRING);
TopDocs topDocs = indexSearcher.search(query, 10 , new Sort(sortFiled));
Run Code Online (Sandbox Code Playgroud)
它给出排序结果,但在区分大小写的模式下。我希望它以不区分大小写的模式排序。