当一个类扩展另一个类时,它继承了超类的所有方法和变量.如果在具有相同签名的子类中以不同方式定义方法和变量,则可以在子类中以不同方式使用它们.现在Oracle区分了覆盖和隐藏(http://docs.oracle.com/javase/tutorial/java/IandI/override.html).它表示实例方法会覆盖其超类的方法,而类方法会隐藏它."隐藏和覆盖之间的区别具有重要意义.被调用的被重写方法的版本是子类中的一个.被调用的隐藏方法的版本取决于它是从超类还是从子类调用的."
让我们假设我有2个类是和可能.是延伸可能.也许有String a.
class Maybe {
String a;
public static void printOut() {
System.out.println("Maybe");
}
public void printAndSet() {
a = "Maybe";
System.out.println(a);
}
}
class Yes extends Maybe {
public static void printOut() {
System.out.println("Yes");
}
pubilc void printAndSet() {
a = "Yes";
}
}
class Print{
public static void mail(String[] args) {
Maybe m = new Maybe();
Yes y = new Yes();
Maybe.printOut();
Yes.printOut();
m.printAndSet();
y.printAndSet();
}
Run Code Online (Sandbox Code Playgroud)
我说:它会打印出来,也许是的,也许是的
但在我阅读了Oracle文章后,我认为它必须打印出来:
yes
yes
maybe
yes
Run Code Online (Sandbox Code Playgroud)
因为实例方法会覆盖其超类方法.
我很确定我对输出是正确的,但我也很确定,甲骨文知道的更好,所以我想我只是不理解这篇文章.当我从超类的对象调用实例方法时,它使用覆盖的方法是不正确的.所以我不明白为什么要区分覆盖和隐藏!有人可以帮忙吗?
编辑; 插入代码而不是描述类!
我正在使用这个 SVG 插件。
这是我的代码:
$(function() {
$('#svgbasics').svg({onLoad: drawInitial});
});
function drawInitial(svg) {
var mycircle = svg.circle(75, 75, '50', {fill: '#f2477b', stroke: 'none', 'stroke-width': 0, class_:'drag'});
$('.drag').click(function() {
$(this).animate({svgR: '0'},300, function() { $('.drag').css("display", "none"); });
}
$("#restore").click(function() {
$('.drag').css("display", "block");
$(this).animate({svgR: '50'},300, function() { });
}
}
Run Code Online (Sandbox Code Playgroud)
通常,有一个(半径)R=50 的圆圈,当我单击圆圈时,它会设置动画为 R=0,然后消失 css("display", "none")。然后,当我点击 #restore 元素时,它再次出现,它的半径 = 50。我想要实现的是从mycircle变量中获取这个 '50' 值,例如:svgR: $(this.R)
如何从mycircle变量中获取此值?
我有一个显示圆圈的 Google 地图,使用数据集索引(1、2、3、4..)缩小的半径:
var radiusTest = 1 - (mapDataTrending[i].index) * .1;
var populationOptions = {
strokeColor: "#fdb913",
strokeOpacity: 0.35,
strokeWeight: 1,
fillColor: "#fdb913",
fillOpacity: 0.35,
map: map,
center: new google.maps.LatLng(mapDataTrending[i].lat, mapDataTrending[i].lng),
radius: radiusTest * 800
};
cityCircle = new google.maps.Circle(populationOptions);
Run Code Online (Sandbox Code Playgroud)
我希望当用户放大时圆圈不会变大。当用户放大时圆圈会缩放,并且如果用户放大到像 20 这样的整数,我希望它们不会变得那么大。
这是我制作地图的方法:
var mapOptions = {
center: new google.maps.LatLng(30.26826, -97.743044),
zoom: 14,
panControl: false,
zoomControl: false,
scaleControl: false,
disableDefaultUI: true,
mapTypeControlOptions: {
mapTypeIds: [google.maps.MapTypeId.ROADMAP, 'map_style']
}
};
map = new google.maps.Map(document.getElementById('map_canvas'), mapOptions);
Run Code Online (Sandbox Code Playgroud)
有没有办法可以根据地图缩放来控制圆半径?
假设我有一个圆心,中心点在原点(0,0),90度点在它(0,10)......从这两个明显的点,圆的半径肯定是10,对吧?
我研究了基于中心点和另一点找到半径的公式是:
Math.sqrt( ((x1-x2)*2) + ((y1-y2)*2) )
Run Code Online (Sandbox Code Playgroud)
但我得到的是价值4.47213595499958而不是我的想法10.
任何人都可以教我正确的公式,我应该用它来制作一个从中心点到另一个点的完美圆圈吗?
如何将所选项目存储listbox到新数组中,就像我们选择项目然后执行按钮操作一样,感谢您提供高级帮助.
string[] domains = new string[listBox1.Items.Count];
for (int i = 0; i < listBox1.Items.Count; i++)
{
domains[i] = listBox1.SelectedIndices[i].ToString();
}
Run Code Online (Sandbox Code Playgroud) 我想让app看起来像超省电模式(galaxy s5).它改变屏幕只显示黑白颜色.我不知道怎么做.任何人都可以提供一些建议或信息,如何做到这一点?非常感谢.
我想在搜索关键字时获得数据的json格式,所以我使用LIKE子句和这样的查询
"select * from employees where fname like ? or mname like ? or lname like ? or username like ? or id like ?", str, str, str, str, str
Run Code Online (Sandbox Code Playgroud)
但我想用rails编写代码.我的控制器中有这个代码
def showemployees
str = params[:str]
render json: @employee = Employee.where(Employee.employees[:fname].matches("%#{str}%")) or
(Employee.employees[:mname].matches("%#{str}%")) or
(Employee.employees[:lname].matches("%#{str}%")) or
(Employee.employees[:id].matches("%#{str}%"))
end
Run Code Online (Sandbox Code Playgroud)
这个代码在我的config/routes.rb中
get 'employees/showemployees'
root :to => 'employees#new'
resources :employees
post 'employees/update_info'
Run Code Online (Sandbox Code Playgroud)
当我输入这个,http:// localhost:3000/employees/showemployees?str = samplename,该记录的json格式应该出现但我收到此错误消息
undefined method `employees' for #<Class:0x8e38900>
app/controllers/employees_controller.rb:6:in `showemployees'
Run Code Online (Sandbox Code Playgroud)
第6行有此代码
render json: @employee = Employee.where(Employee.employees[:fname].matches("%#{str}%")) or
Run Code Online (Sandbox Code Playgroud) 我知道c#只是在Console.WriteLine中保存双引号内的数据("当我打印时,这两个双引号被删除");
它在控制台中的输出将是:
Console.WriteLine("These two double quotes are removed when i am printed");`
Run Code Online (Sandbox Code Playgroud)
但我想在控制台上打印的内容与双引号相同:
Console.WriteLine("These two double quotes are removed when i am printed");`
Run Code Online (Sandbox Code Playgroud)
这该怎么做.我这样做是因为我必须将此输出写入双引号具有重要性的文件.
我在我的应用程序中使用 Couchbase Lite 2.0.0,并尝试对包含给定短语的术语进行不区分大小写的字符串搜索,例如,如果值是,hello, world!则该短语o, w应该返回它但ow不应该返回。
根据couchbase docs应该能够通过LIKE运算符和通配符匹配来实现这一点:
请注意,由于 like 不区分大小写匹配,因此以下查询将返回名称与“皇家工程师博物馆”、“皇家工程师博物馆”、“皇家工程师博物馆”等匹配的“地标”类型文档。
所以我的代码是;
...
.Where(Expression.Property(myPropertyName).Like(Expression.String($"%{phrase}%"));
...
Run Code Online (Sandbox Code Playgroud)
这按预期工作,除了它仍然区分大小写。
我试过使用 .Collate(Collation.ASCII().IgnoreCase(true)
我也试过在(?i)模式下使用 REGEX 运算符,但这引起了恐慌。
我正在考虑使用全文搜索功能,但这对于这种简单的情况可能有点过分。
这是一个错误还是我遗漏了什么?
代码:
<v-btn large color="green" @click="function">
<v-icon>star</v-icon> Add
</v-btn>
Run Code Online (Sandbox Code Playgroud)
Vue 中是否有解决方案,或者是否也可以通过 JavaScript 实现?