老师我想问下那两句代码是什么意义
第一句是创建对象,第二句是调用方法,非静态方法不可以直接调用,必须通过对象去调用哦。
为什么我在默认方法中调用了静态方法,可是我在实现类中调用默认方法时静态方法并没有被调用?
代码发我吧
这里是调的其他地方的抽象方法吗?
请问怎么看是调的哪个文件里的啊?
这里是调的其他地方的抽象方法吗?
这个void printInfo是自己在接口里定义的抽象方法,不是调用的别的文件的
请问怎么看是调的哪个文件里的啊?
如果是方法,你可以把鼠标放在方法上,完后ctrl+鼠标左键点击进入看。
老师,interface B中的方法如何打印出来
把重写注掉就打印出来了。
上面main方法已经调用了b.moren()。
直到现在的我都不知道讲学老师的教学文档在哪里,可以发一下讲学老师的教学文档吗?
往下翻,这边有资料下载,老师的源代码与文档都在里面。
老师,这个wps文档能提供嘛。如果能提供的话,请发下链接好嘛。麻烦老师了
这个就是上面资料里面解压后的的pdf文档。
我们没有txt版本。
为什么我的最下面一个staticMethod 没调用到?是灰色的
静态方法不能被重写
如果我想调用A类里的staticMethod是不是直接A.staticMethod()就可以了
可以的,静态方法可以通过类名点到的
问题:a为什么可直接调用moren()?
多态的性质,A是一个接口,A里有一个默认方法,多态的性质,Test_A实现了接口的方法,重写了接口(父类)的方法,通过父类的引用指向子类对象,调用方法。你可以把接口看成一个类,这样你就好理解了。
接口里面的默认方法和静态方法都可以有多个吧?
可以~
这里严谨一些 这里的子类应该称为接口的实现类
对,理解就好
讲课视频中,是接口引用指向实例对象 Test_A
为什么,用类引用指向实例对象Test_A,就不可以呢
这个其实就是多态的一种体现:父类类型引用子类对象,这个是java的语法
这是什么错误呀? 提示这个 代码都是按照老师那样写的呀
我的可以,你把代码发过来我看
public class Test02 { public static void main(String[] args) { A.staticMethod(); B.staticMethod(); } } interface A{ public static void staticMethod() { System.out.println("A.staticMethod!"); } } class B implements A { public static void staticMethod() { System.out.println("B.staticMethod!"); } }
你的源码在我这里没有任何问题,你用的jdk几的?
我觉得也没问题呀 就很奇怪 是我用eclipse的原因吗
我也是eclipse,你的代码我能运行,我也是1.8的jdk呀
https://blog.csdn.net/github_35160620/article/details/52157912你按这个改一下
请问老师,这种将静态方法实现写在接口类中有什么好处?或者说这种在接口类中实现一个方法有什么好处?
这个到时候我们会学习面向接口编程,慢慢的会学习到的。
樊老师 请问下下面这两个方法 并没有构成方法的重写 都是shout();恳请老师给与解释下原理
你将你程序里面的报错处理了再问,记住问题一定要描述的再清楚一些
老师请问,请问下 为什么用对象无法调用静态方法呢?
sleep()是接口中的静态方法,接口不能创建对象,所以只能使用接口名调用