Comments (4)
并不算,有多个同名的扩展函数时,哪个在上下文中哪个就生效,并没有覆盖关系
from kotlin_tips.
In Java, all non-static methods are by default "virtual functions." Only methods marked with the keyword final, which cannot be overridden, along with private methods, which are not inherited, are non-virtual.
能否override取決於是否為virtual ,然後上面的code轉成Java並沒看到static 或 final
(不過我無法使用super來呼叫Parent寫的Inner.extendFunc3就是了)
from kotlin_tips.
看了kotlin官網寫的大概知道tip4原本想表達的意思,不過覺得用官網的例子會更好懂一些
C().caller(D()) // prints "D.foo in C"
C1().caller(D()) // prints "D.foo in C1" - dispatch receiver is resolved virtually
C().caller(D1()) // prints "D.foo in C" - extension receiver is resolved statically
然後究其原因是因為在轉換的時候會overload成兩個function
public void foo(@NotNull D $receiver) {
Intrinsics.checkParameterIsNotNull($receiver, "$receiver");
String var2 = "D.foo in C";
System.out.println(var2);
}
public void foo(@NotNull D1 $receiver) {
Intrinsics.checkParameterIsNotNull($receiver, "$receiver");
String var2 = "D1.foo in C";
System.out.println(var2);
}
from kotlin_tips.
@spff 感谢反馈,之前的表意的确有些不够恰当,已更新
from kotlin_tips.
Related Issues (7)
- kotlin 相比 java10 HOT 2
- 一年过去了,有没有上新啊? HOT 2
- kotlin感觉就是语法糖而已。编译还是没有java快。 HOT 14
- tip13 input == null的判斷寫反了 HOT 1
- 我是掘金的香菜小编,我想邀请把这篇文章发到掘金。 HOT 1
- 这些tips输出楼主都有测试过吗 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kotlin_tips.